这段js代码的执行结果如何解释?

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]]


杨魅力
浏览 615回答 1
1回答

回首忆惘然

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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript