gpt4 book ai didi

javascript - 是否有一种可接受的方法来从函数/方法中省略参数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:34:59 27 4
gpt4 key购买 nike

假设(假设地)我有一个对象构造函数 MyObj,它有一个像这样的方法:

MyObj.prototype.method = function(x, y){
x = x || this.x; //default value
y = y || this.y;
}

如果我想让 x 默认为 this.x 怎么办?这是我想出的:

var object = new MyObj();
var omit = 0; //I don't think the first two
omit = ''; // values would even default?
omit = null;
omit = undefined;
object.method(omit, 5);

问题是:是否存在从函数中省略参数的最佳实践或可接受的方法?

最佳答案

大多数情况下,当您觉得需要定义这样的占位符时,您真正需要的是使用选项对象:

object.method({y: 5});

请注意,使用 x = x || this.x; 不允许虚假值。这就是我通常这样做的原因

function method(opt) {
var x = (opt && 'x' in opt) ? opt.x : defaultValue;
...
}

当你真的需要传递一个undefined值时,那么我认为undefined是最明显的解决方案。最明显的通常意味着最容易维护。

关于javascript - 是否有一种可接受的方法来从函数/方法中省略参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16566319/

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