> var f = function(x, y=1) {return [x,y]}
> f
function(x, y=1)
> f()
[undefined, 1]
> f(1)
[1, 1]
> f(1,2)
[1, 2]
答案 0 :(得分:2)
它似乎与此功能相关(目前特定于Firefox),默认参数:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/default_parameters
如果没有传递值或未定义,则允许使用默认值初始化形式参数 警告:对于Gecko 15和更高版本。
兼容性,来自MDN:
Browser compatibility Feature |Chrome |Firefox (Gecko) |Internet Explorer |Opera |Safari (WebKit) Basic support |Not supported |15 (15) |Not supported |Not supported |Not supported
这可以解释为什么它只能在FireBug中使用。
默认参数在ECMAScript 6草案中,因此我们将来可能会看到它们。兼容性可以在这里找到:http://kangax.github.io/compat-table/es6/#default_function_params
(感谢@jonathanlonowski的链接!)