我有这段代码:
grp = $.cookies.get('grp');
if(grp == null){grp = 0}
1-如何用三元运算符编写它?2-就性能而言,如果我们有很多的话,三元形式更好还是更简单?
提前致谢
我有这段代码:
grp = $.cookies.get('grp');
if(grp == null){grp = 0}
1-如何用三元运算符编写它?2-就性能而言,如果我们有很多的话,三元形式更好还是更简单?
提前致谢
做:
grp = $.cookies.get('grp');
grp = (grp == null) ? 0 : grp;
或者
grp = $.cookies.get('grp') || 0;
我认为性能差异可以忽略不计,在这种情况下重要的是代码的可读性。
补充:例如,如果要检查对象并在不存在时创建它,则:
some_obj = window.some_obj || {};
为避免类型强制,请始终使用===
运算符。null
也不鼓励检查。当一个值未定义时,javascript 总是返回undefined
.
大多数情况下,创建辅助函数以避免重复代码更容易。
var grp = defaultIfUndefined($.cookies.get('grp'), 'My default value');
function defaultIfUndefined (value, defaultValue) {
if (typeof value === 'undefined') {
return defaultValue;
}
return value;
}