问题描述
看到大牛们写的js源码,想拜读学习一下。var KISSY = (function (undefined) { var host = this, S, guid = 0, EMPTY = ''; S = { __BUILD_TIME: '20130701201313', ... }; // exports for nodejs if (S.Env.nodejs) { S.KISSY = S; module.exports = S; } return S;})();请看以上的代码,为什么在定义匿名函数的时候要加上undefined的参数定义呢? 在我看来该匿名函数执行的时候也没有传任何参数给它,这个的undefined定义是有啥特殊含义吗?谁知道的话能解释一下吗,最好给点例子什么的。
解决方案
在 自调用匿名函数 的作用域内,确保undefined是真的未定义。因为undefined能够被重写,赋予新的值。undefined = "now it's defined";alert( undefined );ie now it's defined 可以改变firefox undefined 不能改变chrome now it's defined 可以改变opera now it's defined 可以改变
时间: 2024-12-27 23:25:02