Re: [问题] 关于jQuery

楼主: leochen0818 (Leo)   2014-05-09 14:03:33
各位前辈们早安、午安、晚安。
小弟又来打扰各位了!!
承蒙各位前辈们不吝指教,
小弟已经对于此种匿名函式有个初步的了解,
感谢各位前辈!!
这次小弟想要问的是,
关于这种匿名函式,也就是:
(function(){....}())这种用法,
很多大大们提到说,
如此一来,
比较不容易变量污染。
咦?恕小弟愚昧,这时候小弟就有点问题想要请教,
假设(function($,window){...}(jQuery,window))
所以大括号里面的程式用到$字号以及window变量,
都等于后面小括号里的jQuery及window变量,
那如果外层有别的程式呼叫到window这个变量
此函式后面那个小括号里的window变量的值会不会受影响?
第二个问题
假设var a=(function(){...}())
为什么a可以在大括号里面直接被引用?
※ 引述《leochen0818 (米拔)》之铭言:
: 各位前辈们早安、午安、晚安。
: 小弟不才,在这里有一个小小的问题想要请教一下大家,
: 其实有很多问题啦...
: 不过我先问第一个问题@@
: 请问教一下各位前辈
: (function($,window,console,Modernizr){
: ...
: ..
: ..
: ...
: }(jQuery,window,console,Modernizr)
: 这样写是什么意思?@@
作者: mrbigmouth (大嘴先生)   2014-05-09 14:06:00
第一个问题 会 Javascript的传递物件都是传址第二个问题 所有var动作本来就会被升到scope最顶部所以大括号里的程式执行时a已经宣告了 使用上没问题(只是当{}里的程式执行完毕后 a的内容会再度被return值给覆蓋)

Links booklink

Contact Us: admin [ a t ] ucptt.com