自调用函数中的未知参数
Unknown argument in self invoke function
我发现了以下自调用函数语法:
var data = (0, foo)();
function foo(){
return "a";
}
但我不明白这里 0(零(的含义是什么。谁能向我解释一下。提前谢谢。
在我的观点中,这是对逗号运算符的毫无意义的使用。
@techfoobar正确地指出:
"逗号分隔的语句列表"只返回列表中最后一项返回的内容。例如,
x = (2, 3, "Hi")
会将值"Hi"
设置为x
。
function foo(){
return "a";
}
// The following all return 'a'
console.log(('hello', foo)());
console.log((null, foo)());
console.log((true, foo)());
console.log((undefined, foo)());
console.log((0, foo)());
console.log((1, foo)());
console.log(({}, foo)());
0 是完全可选的,此语法的作用是,它评估每个成员并返回最后一个成员。
在本例中,您有:(0, foo(它将 eval 0 到 0,eval foo 到一个函数,返回它并使用最后一个 (( 调用它
您可以简单地致电
(foo)()
或者您可以为其创建一些步骤
这将发出警报,然后调用 foo
function a () {
alert(1)
}
(a(), foo)()
这将简单地提醒并返回 foo 作为函数,以便您稍后调用它
var f = (a(), foo)
f()
它可能对我不知道的条件范围或变量有非常具体的用途
在我看来,使用逗号运算符调用函数可能是一种编程习惯。它为我们在进行函数调用时提供了深入思考的空间。
(foo)();
和 (0,foo)();
等函数调用的结果是相同的。但是后一种方式会让你思考在 foo 被调用之前还能做什么。您可以将 0 替换为 doSomething()
你应该做什么。
相关文章:
- Axios spread()具有未知数量的回调参数
- 是否可以稍微修改我的对称差分函数,使其可以接受未知数量的参数
- PageMethods调用使用1参数成功,但在2上失败(未知web方法)
- JavaScript-从字符串中创建多个未知参数并将其传递给函数
- 调用参数数量未知的回调
- JavaScript 参数对象引用未知
- 一个额外的未知参数,带有数据类型“脚本”的 ajax 请求
- 为什么在返回另一个函数调用之前对未知参数调用void
- 处理未知数量的函数参数的 Javascript
- 绑定jquery数据表给出错误“”;请求的未知参数'0'来自行0”的数据源;
- 数据表:请求的未知参数'case'对于第一行
- 传递未知数量的参数给js构造函数
- 请求未知参数'0'对于行0 vs columnDefs采用所有默认内容
- 如何连接参数数量未知的数组
- 如何在未知数量的参数上curry一个函数
- 循环遍历未知数量的数组参数
- 请求的未知参数'0'来自第0行问题的数据源
- 如何在没有“请求的未知参数”错误的情况下动态添加行
- 如何将电子邮件添加到收据的Stripe自定义表单(错误:收到未知参数:电子邮件)
- 自调用函数中的未知参数