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