在javascript
中揭示了匿名函数包装的目的,通常会遇到一个特殊的练习,其中整个.js文件都封装在匿名函数中,例如(function(function){...} {){...})(){)()()()()()()。尽管这似乎令人困惑,但该技术具有特定的优势,尤其是用于命名和控制函数和变量的可见性。
理解动机
函数outerfunction(){
函数nirnfunction(){
//内部功能具有私人可见性
}
}
在这种情况下,外部功能是可以在全球范围内访问的,但是interfunction是私人的。
namespacing and私有成员
var myplugin =(function(){
var private_var;
功能private_function(){
//私人功能
}
返回 {
public_function1:function(){
//公共功能
},,
public_function2:function(){
//公共功能
}
};
})();
In this case, private_var and private_function are private within the myPlugin namespace, but public_function1 and public_function2 can be accessed from outside the wrapper.
function outerFunction() {
function innerFunction() {
// Inner function with private visibility
}
}
Function Arguments in the Self-Invocation
The final parentheses when self-invoking the function allow for passing of arguments.例如,当创建jQuery插件时,开发人员会通过jQuery或$:
[function(jq){...代码...})(jquery);
本地重新定义global parameter在本地重新定义绩效效益,并提供绩效效益,并提供绩效效益,并促进压缩。 JavaScript是实现隐私,命名空间组织和改进性能的一种手段。它们提供了一种将代码封装在文件中的方便方法,从而可以创建可重复使用的组件和库。