我有一个功能:
function modifySpinner(currentIcon, selector, spinType = remove)
{
if (spinType === 'add') {
// something
}
}
但是我在控制台中收到此错误:
Uncaught SyntaxError: Unexpected token =
这不会导致firefox出现问题?但是在Chrome中它无法正常工作。
答案 0 :(得分:1)
请改为尝试:
function modifySpinner(currentIcon, selector, spinType)
{
var spinType = spinType || "remove"
if (spinType === 'add') {
// something
}
}
为什么这样做有效:如果spinType没有值,则等于undefined
。使用var spinType = spinType || "remove"
,你会说" hey evaulate spinType,如果它是假的,那么使用remove。" undefined
和null
在此条件语句中都评估为false,因此,它是说明此值是否未定义的简写,请改用此其他值。
答案 1 :(得分:1)
您不能将此语法用于默认值。
function modifySpinner(currentIcon, selector, spinType )
{
spinType = spinType || "remove";
if (spinType === 'add') {
// something
}
}
像这样,如果它是undefined
,null
,......值将为remove
答案 2 :(得分:0)
Javascript没有默认参数(它已在Ecmascript 6中引入),您必须自己进行检查:
function modifySpinner(currentIcon, selector, spinType)
{
spinType = typeof spinType !== 'undefined' ? spinType : 'remove';
if (spinType === 'add') {
// something
}
}