为函数设置默认值时出现Javascript错误

时间:2015-08-25 15:10:45

标签: javascript function

我有一个功能:

function modifySpinner(currentIcon, selector, spinType = remove)
{
    if (spinType === 'add') {
        // something
    }
}

但是我在控制台中收到此错误:

Uncaught SyntaxError: Unexpected token =

这不会导致firefox出现问题?但是在Chrome中它无法正常工作。

3 个答案:

答案 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。" undefinednull在此条件语句中都评估为false,因此,它是说明此值是否未定义的简写,请改用此其他值。

Truthy and Falsy in Javascript

答案 1 :(得分:1)

您不能将此语法用于默认值。

function modifySpinner(currentIcon, selector, spinType )
{
  spinType = spinType || "remove";
  if (spinType === 'add') {
      // something
  }
}

像这样,如果它是undefinednull,......值将为remove

答案 2 :(得分:0)

Javascript没有默认参数(它已在Ecmascript 6中引入),您必须自己进行检查:

function modifySpinner(currentIcon, selector, spinType)
{
    spinType = typeof spinType  !== 'undefined' ? spinType : 'remove';
    if (spinType === 'add') {
        // something
    }
}