我在调试某些Javascript时注意到我正在传递的额外参数没有出现在arguments
对象中。函数声明有一个命名参数,并且正在传递两个参数,但参数数组只包含第一个参数。当试图在Javascript控制台或jsfiddle中重现问题时,参数总是正确传递。问题是什么?未包含在'参数'对象中的未命名的参数
1
A
回答
3
该问题仅在Chrome中发生,似乎是Chrome优化。起初我没有意识到的是,在我发现参数不完整的原始函数中,我在控制台中检查了arguments
,但是在我创建的所有测试中,我正在执行console.log(arguments)
或类似的操作。
如果我没有在一个函数中引用arguments
,Chrome不会花费它来填充它。因此,通过控制台检查参数时,它只显示作为命名参数存在的参数。我创建了一个jsfiddle来证明这一点:http://jsfiddle.net/bgmort/2kmJs/
因为我花了几个小时寻找答案,所以希望记录下我发现的内容将会为别人节省一点时间。
相关问题
- 1. JavaScript:未命名函数的参数
- 2. 使用可变长度的未命名的参数命名参数在Python
- 3. 如何命名未使用的参数?
- 4. 在MultiBinding命令参数中包含绑定对象
- 5. 命名的Javascript功能参数VS参数对象
- 6. 如何在SqlCommand中设置未命名的SQL参数
- 7. 函数签名中的对象参数的含义是什么?
- 8. 参数对象未初始化AX 2012
- 9. 选择包含未解决的参考
- 10. 参数化查询说:“不允许混合命名参数和未命名参数。”
- 11. 如何在F#文档中包含命名参数
- 12. 如何在yaml中创建未命名对象的数组?
- 13. 命名参数通过传递命名的参数CakePHP中
- 14. 跳过未知的命令行参数
- 15. Swift方法中的多个未命名参数
- 16. 如何引用ES6中未命名的解构参数?
- 17. OleDbParameterCollection不包含参数名“”的OleDbParameter
- 18. sp_executesql中的命名参数
- 19. 参数'username'不能包含逗号。参数名称:用户名
- 20. 参数化的安全任务包括 - '参数未定义'
- 21. Java未命名对象
- 22. PHP包警告:包():参数未使用
- 23. java.lang.IllegalArgumentException:未知的参数名称:customer
- 24. 该查询包含未声明的XXXXXName参数。 SSRS2008/MDX查询
- 25. 如何创建包含查询参数的命名路由?
- 26. 使用另一个可变参数函数的未命名参数调用可变参数
- 27. 如何在Spring的@RestController中验证参数对象中的url参数包
- 28. 如何在函数参数中包含函数参数?
- 29. SQL包含参数
- 30. Jade包含参数
得到的代码显示? – Rob 2012-04-12 23:49:36