【发布时间】:2011-08-24 09:10:23
【问题描述】:
是否有任何简短的语法或技巧可以编写如下代码?
if (!obj.prop) {
obj.prop = value;
}
【问题讨论】:
-
你也可以写成一行:
if (!obj.prop) obj.prop = value;你不能避免写两次obj.prop,如果那是你所追求的。
是否有任何简短的语法或技巧可以编写如下代码?
if (!obj.prop) {
obj.prop = value;
}
【问题讨论】:
if (!obj.prop) obj.prop = value; 你不能避免写两次obj.prop,如果那是你所追求的。
也许
obj.prop = obj.prop || value;
但请注意,如果 obj.prop 是一个虚假值,它将被设置为 value。
也许你想测试一下是否为obj定义了属性
if (obj.prop === undefined) obj.prop = value;
【讨论】:
试试:
obj.prop = obj.prop || value;
【讨论】:
obj.prop = obj.prop? obj.prop : value
【讨论】:
你可以把它变成一个函数,然后你需要写这个if一次,每次你需要这个代码时调用这个函数。
【讨论】:
function f(obj) {if (!obj.prop) obj.prop = value;}