课程01-闭合函数自执行

(function(window,undefined){

     //undefined也是window的一个属性,这里通过参数的形式传递是防止其被外部修改。因为在低版本ie下undefined是可以被修改。

alert(undefined);//这里始终是undefined


//这里面的代码都是局部的,不会影响外部的代码

//这里面的代码要让外面的代码可以调用到的话可以通过把里面变量或方法挂载到

//window对象上来对外开发。window是js的最顶层。

        //例如:

    var b = 11;

        var a = 10;

//要想在外部调用到a可以通过以下代码实现

window.a = a;

//以下是jquery对外开放$和jQuery的方式

  //jquery对象

        // Define a local copy of jQuery
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
}

        window.jQuery = window.$ = jQuery;

//既然window是js的最顶层,为什么这里还需要传window参数,原因有二

//1、传window参数可以让闭合函数内部可以更快捷的找到window对象,

//因为js遍历变量是一层层往外找的,靠的越近,找起来更快捷。

//2、传window参数可以保证在js压缩后不至于找不到window,例如压缩后jquery是这样的

//function(a, b) {

//如果不传window,闭合函数内部就不知道a是个什么东西了。其实他就是window。

//})(window);


})(window);

alert(a);//可以调用到

alert(b);//undifined


var undefined = 10;
alert(undefined);//ie8及以下弹出10(所以可以被外部修改),ie9及以上弹出的是undefined。




作者:星辰 时间:2016-07-21 浏览 1135评论 0 赞 0砸 0 标签: 课程
评论
还可以再输入500个字

请您注意

·自觉遵守:爱国、守法、自律、真实、文明的原则
·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规
·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·您在NoteShare上发表的作品,NoteShare有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款