请问:在第三种写法的时候,为什么会有undefined这个参数?您只解释了undefined不是javaScript的保留字。至于为什么会有,它是干什么用的,能否解释一下?
我这么理解对么? 就是为了防止IE8下编程人员对undefined进行赋值,导致jquery里面使用undefined的话会对其造成影响,所以就相当于初始化了一下,同时也可以当做参数使用!
有童鞋留言到,为什么要传递undefined?
Javascript 中的 undefined 并不是作为关键字,因此可以允许用户对其赋值。
我们看一个
var undefined = '慕课网'
;(function(window) {
alert(undefined);//IE8 '慕课网'
})(window)
IE8存在这个问题,当然,大部分浏览器都是不能被修改的
//如果函数调用不传递,参数默认就是undefined
;(function(window,undefined) {
//undefined
})(window)