在这个问题中,一个答案如下:
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
.