我正在尝试使用 ||
运算符作为 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/