javascript - 这段代码在 Javascript 中是什么设计模式?

标签 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 语句计数

javascript - 中间件出现问题,无法发布到/api/upload

javascript - 新日期 ("")添加 GMT 时间