var arr = []var f = function(){ console.log('f执行'); console.log(arguments)}var s = function(){ console.log('s执行'); arr = [1,2,3] return 'xxx'}f('1', arr, s(), arr)//以下是执行结果//s执行//f执行//["1", Array[0], "xxx", Array[3]]
1 回答

回首忆惘然
TA贡献1847条经验 获得超11个赞
f('1', arr, s(), arr)
f以里面4个值为参数,所以要把参数一一计算出具体的值,'1'值是'1',arr是arr,s()是执行函数返回的结果'xxx',这里修改了arr的引用,所以arr这次返回了一个新的数组对象
参数都计算出来了,然后就执行f函数体了。
另外需要注意下面这种情况:
var arr = []var f = function(){ console.log('f执行'); console.log(arguments) }var s = function(arr){ console.log('s执行'); arr = [1,2,3] return 'xxx'} f('1', arr, s(), arr)
添加回答
举报
0/150
提交
取消