【发布时间】:2017-02-02 05:00:10
【问题描述】:
只是查看一些 js 代码文件,它的所有代码都是这样包装的:
(function(self) {
//..
})(typeof self !== 'undefined' ? self : this);
你能解释一下上面的javascript代码是什么意思吗:
什么是self,它来自哪里?
最后一行到底是什么(typeof self !== 'undefined' ? self : this);?
【问题讨论】:
-
这是一个立即调用的函数。
-
self是 browsers 中的全局变量,它引用全局对象。这只是检查该变量是否存在。如果是,则将其传递给函数。如果不是,则传递this,它在全局范围内也将引用全局对象。 -
@FelixKling 第二个
self因为第一个只是一个参数。 -
立即调用函数表达式或IIFE
-
@ibrahimmahrir:当然,我说的是最后一行。
标签: javascript iife