我有一个关于 Javascript 语言的一般性问题。 当我定义这样的函数时:
{
var some_func = function(arg1, arg2) {
//some code here
}
}
并且我只将第一个参数传递给这样的函数:
var variable = some_func(a1);
是否定义了第二个参数 arg2
但值为 undefined
还是完全是 undefined
或者换句话说:函数的参数是在定义函数时简单地定义为变量或对象属性,还是在幕后有一些动态声明机制?
最佳答案
function foo(bar) {
console.log(bar);
console.log(baz);
}
> foo()
< undefined
< ReferenceError: Can't find variable: baz
参数总是“已定义”但可能具有值undefined
。 undefined variable 是真正未定义的,会导致错误。
关于javascript - 没有传递值时是否声明了函数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22891928/