javascript - Firefox 和 Chrome 中的默认参数行为

标签 javascript google-chrome firefox

所以我一直在摆弄函数重载(我相信这是正确的术语)。发生了什么事:

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/

相关文章:

javascript - Firefox Web 扩展后台页面中的 Websocket

javascript - Date.now() 返回错误的日期

javascript - 如何轻松地为 ActionCable 发送 DOM 元素?

javascript - overflow-y 在模态内的 safari 中不起作用

google-chrome - 从外部进程获取当前事件的 Chrome 或 chrome 选项卡的 URL

html - IE 和 Chrome 之间绝对居中的 DIV 怪癖

html - Firefox 无法为输入文本占位符设置动画

javascript - 将 THREE.js 着色器转换为 PIXI.js

javascript - Chrome 扩展程序的指标

python - 捕获网页的浏览器特定呈现?