所以我一直在摆弄函数重载(我相信这是正确的术语)。发生了什么事:
function example(a=3,b=6){
console.log(a);
console.log(b);
}
在 Firefox 中,这完全符合我的预期。
example()
3
6
example(17)
17
6
example(10,20)
10
20
但是,当我在 Chrome 的控制台中尝试此操作时,它甚至无法创建该函数。我收到错误
SyntaxError: Unexpected token =
为什么会发生这种情况?
最佳答案
Default values to functions are part of ECMA Script 6 specifications 。您可能正在使用最新版本的 FireFox,他们会在其中实现它。
所有未实现ES6规范的浏览器将无法解析该表达式。这就是它失败的原因。
您可以查看Kangax's compatibility table了解您的浏览器在哪里支持或不支持。
关于javascript - Firefox 和 Chrome 中的默认参数行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22433969/