[问题] 为什么使用 (function(){}).call(this);

楼主: polola6212 (Polo)   2014-04-27 17:28:04
我是一个刚使用Javascript的新手
我在很多场合看到别人写的Javascript都使用 (function(){}).call(this);
把方法给包起来,我自已google了.call 这个方法,但还是想不懂为什么要这样做。
请问各位先进,这样做的理由是为什么呢?
作者: mmis1000 (秋月恋枫)   2014-04-27 17:57:00
避免变量污染,如果那样做的话,就能隔开函式内外的变量
作者: Kenqr (function(){})()   2014-04-27 18:40:00
那和这种写法 (function(){})(); 有差别吗?
作者: mmis1000 (秋月恋枫)   2014-04-27 19:06:00
使用上没有,效率上可能有差
作者: obamina48   2014-04-27 19:13:00
想请问效能上差在哪?
楼主: polola6212 (Polo)   2014-04-27 20:10:00
谢谢1F大大,但小弟资质驽钝,需要更详细的解释啊T_T
作者: mmis1000 (秋月恋枫)   2014-04-27 20:13:00
阿,刚刚去查了下,不加.call(this),会在严格模式下炸掉严格模式下,禁止在非构造子里,用this关键字

Links booklink

Contact Us: admin [ a t ] ucptt.com