javascript - 没有传递值时是否声明了函数的参数?

标签 javascript function

我有一个关于 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/

相关文章:

javascript - 将公式转换为 JavaScript

javascript - 一个 stub 如何与 sinon promise ?

javascript - 验证动态添加的表单输入 - Vanilla JS

python - 在 Python 中更改了对象

javascript - JS/JQuery : key press not detected on HTML Canvas

javascript - 关于 javascript 解析的建议/意见

c++ - C++中双变量的逼近

java - 关于Java函数调用

带指针的 C 函数在一台计算机上工作,在另一台计算机上不起作用

function - Haskell 中缀函数应用优先级