<分区>
这是一个什么样的设计模式,使用这个闭包有什么意义?
(function(){
// my code here
}).call(this);
编辑
那么上面的代码和下面的代码有什么区别,因为 this
关键字在两种方式中仍然引用同一个对象。
(function(){
// my code here
})();
标签 javascript
<分区>
这是一个什么样的设计模式,使用这个闭包有什么意义?
(function(){
// my code here
}).call(this);
那么上面的代码和下面的代码有什么区别,因为 this
关键字在两种方式中仍然引用同一个对象。
(function(){
// my code here
})();
最佳答案
那是一个立即调用的函数表达式。
更多信息在这里:http://benalman.com/news/2010/11/immediately-invoked-function-expression/
目的是在保护作用域的同时立即运行代码(因此在其中声明的变量不会泄漏到全局作用域。
call
为其应用的函数设置 this
的值。没有它,值被设置为窗口对象,有它,它被设置为外部范围。
关于javascript - 这段代码在 Javascript 中是什么设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17579432/
相关文章:
javascript - 如何使用HtmlUnit以 headless 模式运行包含Canvas的Html?
javascript - 简单的 Javascript 在 Wordpress/WooCommerce 插件中不起作用
javascript - 奇怪的 JavaScript 行为,在调用转换器函数之前变量更改值
javascript - 此 Socket.IO 代码是否会创建阻塞连接?
javascript - 使用 JavaScript 和 AJAX 从 HTML 输入标记检索图像并将其传递给 PHP 脚本以上传到数据库
javascript - 使用一个页面的链接链接到另一个页面的不同脚本
javascript - 使用 underscore.js 在每个数组中的 3 个对象组中对数组值进行分组
javascript - 分析 Javascript 语句计数