来源:1-5 立即调用表达式

小二_0011

2014-10-29 14:41

请问:在第三种写法的时候,为什么会有undefined这个参数?您只解释了undefined不是javaScript的保留字。至于为什么会有,它是干什么用的,能否解释一下?

写回答 关注

2回答

  • 012345
    2014-11-05 14:48:11

    我这么理解对么? 就是为了防止IE8下编程人员对undefined进行赋值,导致jquery里面使用undefined的话会对其造成影响,所以就相当于初始化了一下,同时也可以当做参数使用!

    慕粉2394...

    这个理解是对的

    2019-03-14 21:34:57

    共 2 条回复 >

  • 艾伦Aaron
    2014-10-29 15:55:22

    有童鞋留言到,为什么要传递undefined?

    Javascript 中的 undefined 并不是作为关键字,因此可以允许用户对其赋值。


    我们看一个

    var undefined = '慕课网'
    ;(function(window) {
     alert(undefined);//IE8 '慕课网'

    })(window)
    IE8存在这个问题,当然,大部分浏览器都是不能被修改的


    //如果函数调用不传递,参数默认就是undefined

    ;(function(window,undefined) {
        //undefined

    })(window)


jQuery源码解析(架构与依赖模块)

由浅入深地剖析jQuery库的设计与实现,揭开框架背后的秘密

84041 学习 · 290 问题

查看课程

相似问题