84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
var e = e || window.event这算是哪一种语法形式?还有没有类似的语句?参数e是什么意思?可以替换成f、g等等吗?
谢谢
业精于勤,荒于嬉;行成于思,毁于随。
是为了更好的兼容IE浏览器和非ie浏览器。在ie浏览器中,window.event是全局变量,在非ie中,就需要自己传入一个参数来获取event啦,所以就有了var e = e||window.event
window.event
var e = e||window.event
可以参考这里哟
这是一种兼容性的写法,完美替代if...else... 这样的写法在代码中是很常见的,类似的写法有
//跨浏览器获取滚动条位置 function getScroll(){ return { top : document.documentElement.scrollTop || document.body.scrollTop, left : document.documentElement.scrollLeft || document.body.scrollLeft } }
var nT = e.target || e.srcElement;
至于等号前面的变量肯定可以变,后面的参数是你传递的事件对象,要统一。
假如e没初始化结果就为window.event否则还是原来的e
利用|| 的短路行为来给e初始化
||
可以替换成f、g ( 这里命名为e明显是event的简写吧...)
e应该是事件参数Event,只是个变量名,通常起名叫e而已,没什么特别含义。
e
Event
至于语法风格,看这里:
文档在,短路求值。
这行代码不是单独存在的,方法本身的目的是利用“||”的短路行为,来兼容事件对象。e本身是触发事件时,浏览器传给回调函数的一个事件对象;ff中是以e作为参数传入回调函数的,而ie则是作为window下的一个属性,即event而独立存在的;
e存在就用e不存在就用windon.event
是为了更好的兼容IE浏览器和非ie浏览器。
在ie浏览器中,
window.event
是全局变量,在非ie中,就需要自己传入一个参数来获取event啦,所以就有了var e = e||window.event
可以参考这里哟
这是一种兼容性的写法,完美替代if...else... 这样的写法在代码中是很常见的,类似的写法有
var nT = e.target || e.srcElement;
至于等号前面的变量肯定可以变,后面的参数是你传递的事件对象,要统一。
假如e没初始化
结果就为
window.event
否则还是原来的e
利用
||
的短路行为来给e初始化可以替换成f、g ( 这里命名为e明显是event的简写吧...)
e
应该是事件参数Event
,只是个变量名,通常起名叫e
而已,没什么特别含义。至于语法风格,看这里:
文档在,短路求值。
这行代码不是单独存在的,方法本身的目的是利用“||”的短路行为,来兼容事件对象。
e本身是触发事件时,浏览器传给回调函数的一个事件对象;
ff中是以e作为参数传入回调函数的,而ie则是作为window下的一个属性,即event而独立存在的;
e存在就用e不存在就用windon.event