社区
JavaScript
帖子详情
谁知道这是什么意思?(function(){})();
福来哥
2011-10-16 08:18:54
看到一些JS类库和框架的定义写成这样的:
(function(){
//代码
})();
谁知道这种语法给解释一下。
...全文
187
5
打赏
收藏
谁知道这是什么意思?(function(){})();
看到一些JS类库和框架的定义写成这样的: (function(){ //代码 })(); 谁知道这种语法给解释一下。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
峭沙
2011-10-17
打赏
举报
回复
(function(){
//代码
})();
这是个自执行匿名函数,即定义一个其名函数,并马上执行,最后面的()还可以传入参数。这样做主要是为了避免命名冲突
最后一个菜鸟
2011-10-17
打赏
举报
回复
匿名函数直接执行
豆虫
2011-10-16
打赏
举报
回复
[Quote=引用楼主 feg545 的回复:]
看到一些JS类库和框架的定义写成这样的:
(function(){
//代码
})();
谁知道这种语法给解释一下。
[/Quote]
直接运行那个该函数 相当于
function aaa(){
//代码
};
aaa()
gmemai
2011-10-16
打赏
举报
回复
(function(){
//这里是块级作用域
})();
将函数声明包含在一对圆括号中,表示它实际上是一个函数表达式。紧随其后的另一对圆括号会立即调用这个函数。
为什么使用这个匿名函数呢?因为javascript中没有块级作用域,比如:
function fun(count){
for(var i=0;i<count;i++){
alert(i);
}
alert(i);//因为没有块级作用域,所以函数内部可以到处访问它
}
用块级作用域(通常称为私有作用域)的匿名函数的语法如下:
(function(){
//这里是快级作用域
})();
在这种情况下:
function fun(count){
(function(){
for(var i=0;i<count;i++){
alert(i);
}
})();
alert(i)//导致一个错误
}
gmemai
2011-10-16
打赏
举报
回复
(function(){
//代码
})();
这是javascript中优雅的方法,定义一个匿名函数:
function(){
//代码
}
然后立即执行
(function(){
//代码
})();
这个在javascript中主要是用来避免命名冲突的问题
(
function
(){ })();
这是
什么语法?
(
function
(){ })();
这是
什么语法?
JavaScript中(
function
(){…})(); 与 (
function
(){…}()); 这两种写法在意义上有什么区别
作者:张立理 链接:https://www.zhihu.com/question/20292224/answer/14660182 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 这个问题可以从不同的角度来看,但从结果上来说,个人的意见是:他们是一样的。 首先,如果从AST(抽象语法树)的角度来看,这边我使用了uglify-js(https://
(
function
(){}())与(
function
(){})()的区别
1. (
function
(){}())与(
function
(){})() 这两种写法,都是一种 立即执行函数 的写法,即IIFE (Immediately Invoked
Function
Expression)。这种函数在函数定义的地方就直接执行了。 通常的函数声明和调用分开的写法如下:
function
foo() {/*...*/} //
这是
定义,Declaration;定义只...
JS中(
function
(){xxx})(); 这种写法是
什么意思
?
自执行匿名函数: 常见格式:(
function
() { /* code */ })();解释:包围函数(
function
(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。作用:可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函数或变量就成为全局)。各
你
知道
!
function
() {}() 啥意思吗
童鞋们,你们是否有时候会看到函数前面加个!号的情况呢,你是否有疑问这!号是干啥的? 非 的意思? 不不不,如果你也有同样的疑惑我建议你来看看 首先你看下面这个:
function
foo() {} 这只是一个函数声明。您将需要一个调用foo来运行该函数运行该函数(好像是句废话) 现在,当我们添加看似无害的感叹号:!
function
foo(){}时,它将变成一个表达式。现在它是一个函数表达式。 ...
JavaScript
87,984
社区成员
224,681
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章