ACs*_*ACs 2 javascript internet-explorer phpstorm
从我第一次遇到JavaScript以来的几年里,我总是使用函数参数的默认值,例如:
function addToCartCallback3(responseData, toCartBtn = null) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
但是我注意到现在我的PhpStorm警告我这是错误的,并且在
toCartBtn逗号,或结束括号之后)是预期的.
上面的代码在Chrome和Firefox中运行良好,但会杀死IE11中的所有JavaScript.(在IE11中,控制台告诉我和PhpStorm一样)
为什么这个代码错了,或者我应该使用什么?
我知道(typeof toCartBtn == 'undefined')应该这样做,但我真的很好奇为什么另一种方法突然被认为是语法错误.
如上所述,这仅适用于ES6浏览器,因为ES6将包含此默认语法.因此在IE11上你必须将默认值放在正文中:
function addToCartCallback3(responseData, toCartBtn) {
toCartBtn = toCartBtn || 'defaultHere';
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果您的默认值应为null,则可以不使用默认值,因为在大多数情况下,未定义的参数的行为方式与值为null的参数的行为方式相同.
| 归档时间: |
|
| 查看次数: |
5935 次 |
| 最近记录: |