首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(function() {*.*/}).call(This)的优势;

(function() {*.*/}).call(This)的优势;
EN

Stack Overflow用户
提问于 2013-10-17 12:07:45
回答 2查看 95关注 0票数 1

在查看uuid.js的代码时,我注意到这个模式用于定义整个api。

代码语言:javascript
复制
(function() {/*...*/}).call(this);

这种模式在javascript中的优点是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-17 12:09:52

它只是一个具有定义上下文(this)的立即调用的函数表达式。一个正常的生命将以全局对象作为它的上下文。

读取链接到的源文件时,在这个上下文中(没有双关意),他们使用this获得对全局对象的显式引用,而不假定它的名称为window (用于浏览器)或global (用于node.js等)。

( IIFE是一个常见的构造,用于创建一个新的作用域,可以在其中声明变量而不污染全局名称空间,并立即执行块中的代码)。

票数 4
EN

Stack Overflow用户

发布于 2013-10-17 12:11:26

这样做的主要优点是您可以在函数中声明尽可能多的变量,并且它们不会污染全局范围。

另见:模块模式

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19426323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档