很简单的问题。例如,这些是等价的吗?
window.open('http://someurl.com')
window.open('http://someurl.com', undefined)
我怀疑它可能依赖于函数本身,但我不确定。
发布于 2018-08-09 05:35:10
简而言之:在绝大多数情况下,传递undefined
相当于省略了参数。
但是,在函数中,您可以区分省略的参数和作为undefined
传递的参数。虽然我从来不建议使用这种区别来更改行为,但如果您在函数中访问特殊的arguments
变量,您可以看到两者之间的区别:
function logNumArgs() {
console.log(arguments.length)
}
logNumArgs() // 0
logNumArgs(undefined, undefined) // 2
https://stackoverflow.com/questions/51755922
复制相似问题