自从我第一次遇到JavaScript以来,我总是使用函数参数的默认值,例如:
function addToCartCallback3(responseData, toCartBtn = null) {
// ...
}
但是我注意到现在我的PhpStorm警告我这是错的,之后
<{1}}逗号toCartBtn
或右括号,
是预期的。
上面的代码在Chrome和Firefox中运行良好,但会杀死IE11中的所有JavaScript。 (在IE11中,控制台告诉我与PhpStorm相同)
为什么这段代码错了,或者我应该使用什么?
我知道)
应该做的伎俩,但我真的好奇为什么另一种方法突然被认为是语法错误。
答案 0 :(得分:7)
IE11不支持默认参数。这是浏览器无法识别的JavaScript语言中的ES6扩展。
您可以通过查看this useful resource来查看此内容。如果您查看&#39;默认功能参数&#39;你会发现IE版本不支持它。
答案 1 :(得分:7)
如上所述,这仅适用于ES6浏览器,因为ES6将包含此默认语法。 所以在IE11上你必须将默认值放在正文中:
function addToCartCallback3(responseData, toCartBtn) {
toCartBtn = toCartBtn || 'defaultHere';
}
请注意,如果您的默认值应为null,则可以不使用默认值,因为在大多数情况下,未定义的参数的行为方式与值为null的参数的行为方式相同。
答案 2 :(得分:3)
要使PHPStorm接受此语法,请务必在ECMAScript 6
File | Settings | Languages & Frameworks | JavaScript