请问以下JS代码中的括号是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问以下JS代码中的括号是啥意思?相关的知识,希望对你有一定的参考价值。

(function(window, undefined) alert("000");)(window)请问这两个小括号是什么意思?

这属于js匿名函数的一种!
这种写法可以看做是私有的内部类,一般出于加载时就需要立即执行的代码可以这样来些,第2个就是避免与其它的名称相冲突.
给你举个例子看看:
(function(p1,p2)alert(p1+p2);)(1,2);
实际就相当与
function test(p1,p2)
alert(p1+p2);

test(1,2);
(function())();
匿名方法的好处,上面也有提到.
1.其它外部调用不到,相对安全.
2.可用于onload事件保证不与其冲突.
3.可看做线程安全.曾经做项目时遇到过一个循环读取值的问题,每次得到的都是第一个值,最后用该函数解决的.

下面介绍一下它的调用
var fnc = function()alert(\'x\');,这里function如果不赋值给fnc那么它就是一个匿名函数,这种函数我们称为回调函数.调用方式fnc();

下面是匿名函数的调用。
有返回值的调用函数
得到返回值。强制运算符使函数调用执行
<1>
(function(p1,p2)
return p1+p2;
(1,2));

强制函数直接量执行再返回一个引用,引用在去调用执行
<2>
function(p1,p2)
return p1+p2;
)(1,2);

无返回值的调用
<3>
void function(p1)
return p1++;
(2);

测试function test()
return (function(p1,p2)
return p1+p2;
)(1,2);
//等以上几种情况.

alert(test());
结果33undefined

这个是百度知道里面的另一个比较详细的回答(原作者为:heruyi )

参考资料:http://zhidao.baidu.com/question/95786011.html

参考技术A
  ★你的肚子看起来像篮球;

百度搜索 :宫胎宝 希望我的答案可以帮助到你

以上是关于请问以下JS代码中的括号是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

这段JS代码是啥意思? [复制]

命令行参数“时间节点 app.js”中的“时间”是啥意思? [复制]

这个响应对象是啥意思? (扎皮尔 JS 代码)

请问这个冒泡排序代码,每一行都是啥意思呀,谢谢

x86 asm中的括号是啥意思?

创建 Java 泛型类时,尖括号中的波浪号是啥意思?