注册 登录
编程论坛 JavaScript论坛

求教,我读别人的代码,有部分看不懂……

lgm97 发布于 2009-11-30 15:34, 578 次点击

page[i].onmousedown=function(e){
            if(!en){
                if(!e){e=e||window.event;}
                ex=e.pageX?e.pageX:e.x;
                mx=350-ex;
                this.style.cursor="move";
                md=true;
                if(document.all){
                    this.setCapture();
                }else{
                    window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
                }
            }


if(!e){e=e||window.event;}和window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);

这两句分别有什么样的作用,意思是什么?|| 和 |这两个运算符在这里有什么意义……请指教,谢谢了



[ 本帖最后由 lgm97 于 2009-11-30 15:35 编辑 ]
1 回复
#2
aspic2009-11-30 16:52
window.event 说明 event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。
event对象只在事件发生的过程中才有效。
event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);//停止捕捉事件(mousemove and mouseup)
程序代码:
a || b;//如果没有a就取b的值 给个例子
function test(a){
    alert(a|| '我是值')
};
test('测试');//弹出提示框显示"测试"
test();//弹出提示框显示"我是值"
对两个表达式执行按位“或”运算。

expression1 | expression2
参数
expression1
任何数值表达式。

expression2
任何数值表达式。

备注
| 运算符将参数强制为匹配的数据类型。然后 | 运算符查看两个表达式的二进制表示形式的值,并执行按位“或”运算。参数的数据类型决定此运算符所返回的数据类型。

此运算的结果如下所示:

0101   (expression1)
1100   (expression2)
----
1101   (result)
任何时候,只要任一表达式的一位为 1,则结果中的该位为 1。否则,结果中的该位为 0。
1