在这个问题中,一个答案如下:
Number.prototype.roundTo = function(nTo) {
nTo = nTo || 10;
return Math.round(this * (1 / nTo) ) * nTo;
}
这是什么意思?为什么我需要这样做?
nTo = nTo || 10;
在这个问题中,一个答案如下:
Number.prototype.roundTo = function(nTo) {
nTo = nTo || 10;
return Math.round(this * (1 / nTo) ) * nTo;
}
这是什么意思?为什么我需要这样做?
nTo = nTo || 10;
nTo = nTo || 10;
可以实现为简写
nTo = nTo ? nTo : 10;
这又是一个缩写
if (nTo) {
nTo = nTo;
} else {
nTo = 10;
}
如果nTo是非假值,nTo则将分配给nTo,否则10将分配给nTo。
来自http://docs.nodejitsu.com/articles/javascript-conventions/what-are-truthy-and-falsy-values
javascript 虚假值列表
false // obviously
0 // The only falsy number
"" // the empty string
null
undefined
NaN
这通常在 Javascript 中用于默认值。
逻辑 OR ( ||) 如果为真则返回第一个值,如果第一个为假则返回第二个。当一个函数期望一个未传递的参数时,该函数获得的值undefined是虚假的。这意味着
var x = parm || default_value;
将在未通过default_value的情况下使用。parm
但是,如果该值0或空字符串""可以作为参数值接受,则这将不起作用,因为0空字符串也是虚假的。
此外,如果参数的值也可以undefined(意思undefined应该使用而不是默认值)唯一的解决方案是检查arguments.length.