在此示例代码中:
(function(){
var obj = function() {
};
obj.prototype.hello = function(){
console.log('Hello World!');
};
})();
Run Code Online (Sandbox Code Playgroud)
我看到很多图书馆在做这件事.为什么将代码包装在立即调用函数表达式(IIFE)中是一种好习惯?我如何在外面访问这个对象,就像jquery一样?
因为如果我做这样的事情:
var test = new obj();
Run Code Online (Sandbox Code Playgroud)
浏览器显示obj未定义.
避免污染外部范围.你确定没有任何变量会"脱离"它.但是,是的,你确实需要导出它.window.obj = obj;从内部使用(使其成为全局)或返回它:
var obj = (function() {
var obj = function() {};
obj.prototype.sayHello = function() {};
return obj;
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
407 次 |
| 最近记录: |