通常,||意味着或,但在这种情况下它意味着什么:
function getCharCount ( e,s ) {
s = s || ",";
return getInnerText(e).split(s).length;
}
答案 0 :(得分:10)
s = s || ","
这是默认参数选项。如果s
为“falsey”,s
将设置为","
因此,如果s是""
或undefined
,则会有一个有用的默认值。
答案 1 :(得分:0)
这是一种在Javascript中定义可选参数的方法。
您只能使用1个参数调用此函数...
答案 2 :(得分:0)
Raynos提供了答案,但还有更多内容可以补充说明这一点。
s = s || ",";
如果s
是任何虚假值,例如undefined, null, 0, false, NaN, ""
等,那么s
将被初始化为","
。
这对于初始化函数的可选参数或保证参数至少具有一些初始值非常有用。人们必须非常小心如何使用它,因为这个结构禁止故意传递参数s
的假值。
在此示例中,您无法为s
的值传递空字符串,因为它将更改为","
。这个功能没问题,但也许不在其他功能中。在其他类型的函数中,您将无法传递false
,这可能是允许的值。
如果只想保护参数不被传递,那么你必须使用类似的东西,明确地测试undefined并允许传递其他假值:
s = typeof s != "undefined" ? s : ','; // if s is undefined, initialize
或者如果您想验证它是一个字符串并允许空字符串,您可以使用:
s = typeof s == "string" ? s : ','; // if s not a string, initalize
答案 3 :(得分:-1)
这意味着s,如果它为null,则赋值为“,”;如果s不为null,则保留其值。
答案 4 :(得分:-1)
s
为s
,或者如果未定义s
(您未在函数调用中传递参数),则为","
答案 5 :(得分:-1)
有时候,你不知道变量是否值得一个值 所以你告诉自己你必须有一个价值。
如果没有值(null)那么你将拥有自己的默认值。
你写的是什么
s = s || ",";
我不知道s是否有价值,但如果没有,则将','值。