使用默认运算符的 Javascript 引用错误

标签 javascript

我正在尝试使用 || 运算符作为 Crockford 在 (http://www.crockford.com/javascript/survey.html) 中描述的“默认”运算符:

|| 运算符通常称为逻辑或。也可以称为默认。如果第一个操作数是 false、null、undefined、""(空字符串)或数字 0,则它返回第二个操作数。否则,它返回第一个操作数。这提供了一种指定默认值的便捷方式:

value = v || 10; /* Use the value of v, but if v
doesn't have a value, use 10 instead. */

当我在 firebug javascript 控制台中输入它时,它会报告错误:ReferenceError: v is not defined, and does not go on to set value to 10.

这是预期的行为吗?

最佳答案

是的。如果你没有告诉 javascript "v"是一个变量,它会报错。您可以执行以下两项操作之一来更正此问题:

var v;
value = v || 10;

value = window.v || 10;

关于使用默认运算符的 Javascript 引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3894368/

相关文章:

javascript - react , "this",cloneElement 和 es6

javascript - 清除值而不重新加载页面

javascript - 使用ajax和jquery在asp.net中调用 Controller

javascript - Google App Engine 帮助?

javascript - 推特用户名的正则表达式

javascript - 混合数据类型、函数和对象

javascript - AddThis 按钮在 AJAX 中不起作用,但可以正常工作

表单提交时未调用 JavaScript 闭包函数

javascript - 构造函数中的私有(private)方法(Javascript,坏主意?)

javascript - jQuery 不添加背景图片