<script>
function makeArray(arg1, arg2){
return [ this, arg1, arg2 ];
}
alert(window.makeArray('one', 'two'));
</script>
Run Code Online (Sandbox Code Playgroud)
题:
上面脚本的输出是:[Object Window],一,二,如果我改变了返回[this,arg1,arg2]; 返回(this,arg1,arg2); 输出是:两个.那么return []和return()之间有什么区别?
return不支持返回多个参数.它的论证也不需要括号,所以当你打电话时:
return (this, 'one', 'two');
Run Code Online (Sandbox Code Playgroud)
然后大括号只包含一个表达式,其中该表达式的结果是返回给调用者的结果.
在那个表达式中你实际上使用了"逗号运算符"(两次).
逗号表达式同时a, b计算a和b,但表达式的结果只是b(即右手操作数).
在你的情况下,你已经写了(a, b, c),相当于((a, b), c),因此仍然返回最右边的操作数(即"two")
| 归档时间: |
|
| 查看次数: |
258 次 |
| 最近记录: |