通常,||表示或,但在这种情况下它是什么意思:
function getCharCount ( e,s ) {
s = s || ",";
return getInnerText(e).split(s).length;
}
s = s || ","
这是默认参数选项。如果s
为false,则s
将被设置为","
如果s是""
或undefined
,它将有一个有用的默认值
这是在Javascript中定义可选参数的一种方法。
Raynos已经给出了答案,但是还有更多需要补充的内容。
s = s || ",";
如果s
是任意假值,如undefined, null, 0, false, NaN, ""
等…,则s
将初始化为","
。
这对于初始化函数的可选参数或保证参数至少具有一些初始值非常有用。必须非常小心如何使用它,因为这种结构禁止故意为参数s
传递假值。
在本例中,您不能为s
的值传递空字符串,因为它将被更改为","
。这在这个函数中没问题,但在其他函数中可能不行。在其他类型的函数中,您将无法传递false
,这可能是一个允许的值。
如果你只是想防止参数不被传递,那么你必须使用像这样的东西来显式地测试未定义的,并允许传递其他假值:
s = typeof s != "undefined" ? s : ','; // if s is undefined, initialize
或者如果你想验证它是一个字符串并且允许一个空字符串,你可以使用:
s = typeof s == "string" ? s : ','; // if s not a string, initalize
如果s为null,则赋值为",";如果s不为空,则保持其值
s
是s
,或者如果s
没有定义(您没有在函数调用中传递参数),它是","
有时候,你不知道一个变量是否有值所以你在告诉你自己,你必须有一个值。
如果如果没有值(null),所以你有你自己的默认值
这就是你写的
s = s || ",";
我不知道s是否有值,但如果没有,请输入','值