Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未包含在';参数';对象_Javascript - Fatal编程技术网

Javascript 未包含在';参数';对象

Javascript 未包含在';参数';对象,javascript,Javascript,在调试一些Javascript时,我注意到我传递的额外参数没有显示在arguments对象中。函数声明有一个命名参数,并传递了两个参数,但参数数组仅包含第一个参数。当试图在Javascript控制台或JSFIDLE中复制问题时,参数始终正确传递。问题可能是什么?这个问题只发生在Chrome上,似乎是Chrome的优化。起初我没有意识到的是,在我发现参数不完整的原始函数中,我在控制台中检查参数,但在我创建的所有测试中,我都在执行console.log(arguments)或类似的操作 如果我没有在

在调试一些Javascript时,我注意到我传递的额外参数没有显示在
arguments
对象中。函数声明有一个命名参数,并传递了两个参数,但参数数组仅包含第一个参数。当试图在Javascript控制台或JSFIDLE中复制问题时,参数始终正确传递。问题可能是什么?

这个问题只发生在Chrome上,似乎是Chrome的优化。起初我没有意识到的是,在我发现参数不完整的原始函数中,我在控制台中检查
参数
,但在我创建的所有测试中,我都在执行
console.log(arguments)
或类似的操作

如果我没有在函数中引用
参数
,Chrome不会花费填充它的费用。因此,当通过控制台检查参数时,它只显示作为命名参数存在的参数。我创建了一个JSFIDLE来演示这一点:


因为我花了几个小时寻找答案,我希望记录我的发现能为其他人节省一点时间。

这个问题只发生在Chrome上,似乎是Chrome的优化问题。起初我没有意识到的是,在我发现参数不完整的原始函数中,我在控制台中检查
参数
,但在我创建的所有测试中,我都在执行
console.log(arguments)
或类似的操作

如果我没有在函数中引用
参数
,Chrome不会花费填充它的费用。因此,当通过控制台检查参数时,它只显示作为命名参数存在的参数。我创建了一个JSFIDLE来演示这一点:


因为我花了几个小时寻找这个问题的答案,我希望记录我发现的东西能为其他人节省一点时间。

太好了!自从我发布这篇文章以来,我还注意到Chrome同样不存储任何闭包变量(我指的是在封闭范围内定义的变量),除非它们在该范围内被引用。当然不包括全局变量。太好了!自从我发布这篇文章以来,我还注意到Chrome同样不存储任何闭包变量(我指的是在封闭范围内定义的变量),除非它们在该范围内被引用。当然,不包括全局变量。