gpt4 book ai didi

JavaScript - 传递未定义的参数与忽略它相同吗?

转载 作者:行者123 更新时间:2023-12-03 01:21:26 27 4
gpt4 key购买 nike

非常简单的问题。例如,这些是否等价?

window.open('http://someurl.com')

window.open('http://someurl.com', 未定义)

我怀疑它可能取决于函数本身,但我不确定。

最佳答案

简而言之:在绝大多数情况下,传递 undefined 相当于忽略参数。

但是,在函数内,您可以区分省略的参数和作为 undefined 传递的参数。虽然我永远不会建议使用这种区别来改变行为,但如果您在函数中访问特殊的 arguments 变量,您可以看到两者之间的区别:

function logNumArgs() {
console.log(arguments.length)
}

logNumArgs() // 0
logNumArgs(undefined, undefined) // 2

注意:arguments 变量只能在非箭头函数上访问!

MDN - Arguments Object

关于JavaScript - 传递未定义的参数与忽略它相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51755922/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com