javascript未分配的默认函数参数

标签 javascript node.js optional-parameters

在下面的函数中:

foo = function(a){
    if (!a) a = "Some value";
    // something done with a
    return a;
}

当没有声明“a”时我想分配一个默认值用于函数的其余部分,虽然“a”是一个参数名称并且没有声明为“var a”,它是这个的私有(private)变量吗功能?在函数执行后它似乎没有显示为全局变量,这是一种标准(即一致)的可能用法吗?

最佳答案

它是函数范围内的私有(private)变量。它在全局范围内是“不可见的”。
至于你的代码你最好这样写

foo = function(a){
    if (typeof a == "undefined") a = "Some value";
    // something done with a
    return a;
}

因为 !a 可以为 0 为真,一个空字符串 '' 或只是 null

关于javascript未分配的默认函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11942149/

相关文章:

javascript - 如何检查父元素中的点击,而不是子元素中的点击?

node.js - CakePHP 精益 Controller 方法每分钟被调用多次

javascript - 类型错误 : Recaptcha is not a constructor

wolfram-mathematica - 我如何获得相互依赖的选项?

dictionary - 带有选项参数或使用空字典作为默认参数的函数

javascript - 基于ajax动态定位列表项

javascript - 未调用 JavaScript 函数

vba - Let/Get 属性中的可选参数如何工作?

javascript - 使用对象元素作为参数的 Firestore 查询

node.js - 从 NodeJS 流式上传到 Dropbox