gpt4 book ai didi

javascript - js函数中的默认参数

转载 作者:行者123 更新时间:2023-11-29 10:49:41 25 4
gpt4 key购买 nike

我在这里阅读了一些关于此的问题:

  1. 这个不错

    function(a, b) {
    a = (typeof a === 'undefined')? 'default_val' : a;
    b = (typeof b === 'undefined')? 'default_val' : b;
    }
  2. 这有点麻烦(适用于 bool 值以外的任何值)

    function(a, b) {
    a = a || 'default_val';
    b = b || 'default_val';
    }

    如果您传递 false,则会破坏逻辑。所以这应该被标记为一个坏习惯

  3. 有几个问题,但我从来没有看到这个问题的答案(没有人直接回答问题):这个(最后一种方法)好​​吗(有没有人发现它有任何问题)?

    function(a = 'default_val', b = 'default_val') {
    // your code
    }

我已经测试了第三种方法,但没有发现任何问题。我想要最后一种方法。它更简洁,看起来更像其他语言的结构。

谢谢

最佳答案

在当前的 ECMAScript 实现中,没有办法像 3 那样做。我也真的希望这样。它在下一个实现中提出所谓的“和谐”更多关于它在这里 http://wiki.ecmascript.org/doku.php?id=harmony:parameter_default_values

我也刚刚想到我实际上是怎么做的。例如,通常我将参数作为对象传递,

var options = { x : 20, y : 30 }

那我在函数里做

function iAcceptDefaults(options) {
var defaults = {
x: 40
}
var newParameters = $.extend({},options, defaults) // here we using jQuery method extend to mix defaults parameters with options

}

关于javascript - js函数中的默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12909783/

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