设置默认函数变量值的 JavaScript 方法

标签 javascript function variables void typeof

我有一个关于为函数内部变量设置默认值的问题。我知道有几篇关于如何执行此操作的帖子,但是我对这种替代方法感兴趣,以及是否有人可以向我解释使用它的优点/缺点,特别是当 JSBIN 编译器标记错误时...

Line 2: void 0 === data && (data = 20); --- Expected an assignment or function call and instead saw an expression.

新/替代方法

var a = function(data) {
  void 0 === data && ( data = 20 );

  return data;     
};

使用typeof运算符的当前方法

var b = function(data) {
  data = typeof data === "undefined" ? data = 30 : data;

  return data;   
};

最佳答案

我从来没有见过这样写的,我怀疑它会成功。开发人员过去常常使用 void 0 来代替 undefined,因为 undefined 曾经是 window 对象的可写属性。对于较新的浏览器,这种情况已经很久没有出现了。你现在这样写的唯一原因是为了抚慰你自己,并感觉自己比其他可能不知道 void 0 背后含义的人优越。

关于设置默认函数变量值的 JavaScript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23543073/

相关文章:

javascript - 如果我在 JavaScript 中拼接克隆数组,为什么我的原始数组会被拼接?

python - 确定 Python 变量是否是内置类型的实例

javascript - 如何防止页面重定向但仍然提交表单

javascript - 使用 jQuery .html 插入 javascript

javascript - 基于对象值的火灾事件

jquery - 在jquery中制作单个函数来处理==,!==

javascript - 创建接受多个参数的函数

c++ - 如何调用预定义结构类型的函数

java - 设置其他方法识别的变量

javascript - Android 播放一次音频