gpt4 book ai didi

javascript - 我的 Firebug 控制台中定义的函数如何接受默认参数?

转载 作者:行者123 更新时间:2023-11-30 17:26:13 24 4
gpt4 key购买 nike

我不认为这应该在 javascript 中工作:

  > 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]

但是:

  • 它在我的 firebug 控制台中有效
  • 我在 javascript 的方法签名中找不到任何关于默认参数的文档
  • 它破坏了 jslint
  • 它破坏了我的 v8 编译器

发生了什么事?

最佳答案

好像和这个特性有关(目前Firefox特有),默认参数:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/default_parameters

Allow formal parameters to be initialized with default values if no value or undefined is passed.
Warning: For Gecko 15 and upper versions.

兼容性,来自 MDN:

Browser compatibilityFeature         |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 提供的链接!)

关于javascript - 我的 Firebug 控制台中定义的函数如何接受默认参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24197306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com