javascript语法解释
javascript syntax explanation
可能重复:
这是什么意思?(函数(x,y(({…}({a,b(;在JavaScript 中
请任何人解释并举例说明下面的Javascript,我找不到任何解释这一点的文档:
(function([arg, arg ...]) {
//javascript code here
})([str, str ...]);
我之所以问这个问题,是因为我在谷歌上看到了Facebook的javascript代码,其中大多数都使用这种语法。
它是匿名函数调用
参数值CCD_ 1作为参数CCD_。
它与相同
function foo([arg, arg ...]) {
//javascript code here
}
foo([str, str, ...]);
现在的情况是,定义了一个匿名函数表达式(在括号中(-
(function([arg, arg ...]) {
//javascript code here
})
然后使用函数末尾的()
立即调用该函数,就像调用普通函数var result = someFunction()
一样。例如,
(function() {
alert('Called by "()" at end of function');
})()
您还可以通过括号-将参数传递给anoymous函数
(function(username) {
alert('Called by "()" at end of function. Hello ' + username + '!');
})('Dave')
(function(a, b) {
var x;
})
返回一个匿名函数。由于技术/历史原因,匿名函数必须用括号括起来。
值得注意的是,名称a
、b
和x
对外部代码不可见。相反,只写var x;
会使x
可访问,从而污染全局命名空间。这相当于经典面向对象语言中的私有变量。
我们也可以写:
var func = function(a, b) {var x;};
// or equivalently:
function foo(a, b) {var x;};
func('arg1', 2);
但这将通过使函数CCD_ 10对其他所有人可见而再次污染全局命名空间。由于我们不想多次呼叫str, str
1,
(function(a, b) {var x;}) ('arg1', 2);
是使用变量执行代码的完美方式,而不会使这些变量(或任何变量名(对世界其他地方可见。
使用strs定义的args只调用一次圆括号中的函数。
包含函数的圆括号用于限制函数的范围,即不能从外部调用函数。
str变量可以是全局变量(例如jQuery(,并且可以通过其对应的arg(例如jQuery->$(进行别名,仅用于函数。
一般来说,这是一种很好、安全的编写javascript的方法,例如
(function($) {
// code
})(jQuery)
对于函数,局部变量"$"表示全局变量"jQuery"。这意味着您可以在另一个脚本(或函数(中将"$"定义为其他内容,并且该变量不会影响此函数中的"$"。
- PubSub Design Pattern 的 Jquery 语法解释
- 解释Redux语法
- 你能解释一下这个JavaScript语法(变量外推)吗?
- JavaScript 语法解释 (function () { } )();.
- 语法:const {} = 变量名称,任何人都可以解释或指出我正确的方向
- 聚合物 - 有人可以解释一下聚合物中使用的this.$.foo.bar JavaScript语法
- 有人可以在 JavaScript 中解释这种函数包装语法吗?
- Javascript解释 - 语法/格式/风格对我来说是新的
- Ruby on Rails 和 angularJS:有人可以解释一下用法和语法吗?
- 有人能解释一下这个require.js示例中涉及的语法吗
- JSON语法-变量被解释为文字
- 解释了自执行函数语法和回调语法
- JQuery语法解释
- 解释(liveCats中的var cat)语法
- Javascript语法解释-条件性
- 此时间转换的语法解释
- 如何解释这个Javascript语法
- 有人能用Javascript解释一下这个语法吗;type=type||'fx'&”;
- 这些语法有什么不同,请详细解释
- 解释javascript代码语法