猿问

JS中(function(){xxx})(); 这种写法是什么意思?

经常看到别人的JS脚本中有这样的写法:(function(){
functiona(){
alert("a");
}
})();这里的(function(){xxx})();是什么意思,为什么这么写,有什么好处?
千巷猫影
浏览 393回答 2
2回答

慕娘9325324

自执行匿名函数:常见格式:(function(){/*code*/})();解释:包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。作用:可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函数或变量就成为全局)。各JavaScript库的代码也基本是这种组织形式。总结一下,执行函数的作用主要为匿名和自动执行,代码在被解释时就已经在运行了。其他写法(function(){/*code*/}());!function(){/*code*/}();~function(){/*code*/}();-function(){/*code*/}();+function(){/*code*/}();推荐阅读:立即调用的函数表达式

Qyouu

使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。请看我回答的另外一个问题:javascript里function之前加上感叹号'!'会怎么样...
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答