比如  x:ev.clientX + document.body.scrollLeft - document.body.clientLeft
语句中的:起什么作用?

解决方案 »

  1.   

    楼主说的是这个吧
    <script>function mouseMove(ev){
    ev           = ev || window.event;
    var mousePos = mouseCoords(ev);
    document.getElementById('xxx').value = mousePos.x;
    document.getElementById('yyy').value = mousePos.y;
    }function mouseCoords(ev){
    if(ev.pageX || ev.pageY){
    return {x:ev.pageX, y:ev.pageY};
    }
    return {
    x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
    y:ev.clientY + document.body.scrollTop  - document.body.clientTop
    };
    }document.onmousemove = mouseMove;
    </script>
    <input id=xxx type=text>
    <br>
    <input id=yyy type=text>很明显,mouseCoordsrc返回的是一个map,
    mousePos.x
    表示获得mouseCoords方法中key为x的值 

    ev.pageX 或 ev.clientX + document.body.scrollLeft - document.body.clientLeft
      

  2.   


    function mouseCoords(ev){
        if(ev.pageX || ev.pageY){
            return {x:ev.pageX, y:ev.pageY};
        }
        return {
            x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
            y:ev.clientY + document.body.scrollTop  - document.body.clientTop
        };
    }这叫Json对象构造 ":"前是属性名称 ":"后是属性值 不同属性之间用","分隔
    和三目运算符扯不上关系吧,Map的解释也有些牵强,虽然JavaScrip对象是散列数组结构
      

  3.   

    :相当于等号, 跟?号一起使用时 叫做三目运算符
    三目运算符一般的用法是:
    d = a!=0 ? b : c
    表达为:
    if(a!=0)d=c;
    else d=b;
      

  4.   

    就是 
    Map 啊;
    key : value;
    就这么简单.
    比如
    {a:22,b:33,y:78}
    就是个对象
    它里面有a 属性,它的值是22,有b 属性它的数值是33,有y 属性它的数值是78
    就这么简单
      

  5.   

    x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
    语句中的+和:和.运算符的级别哪个高?
      

  6.   

    J2SE5.0的新特性,代替FOR EACH用法,遍历用的