gpt4 book ai didi

javascript - 调用 JavaScript 方法时绕过设置的参数?

转载 作者:行者123 更新时间:2023-12-03 04:50:08 25 4
gpt4 key购买 nike

我知道有人询问并回答了如何为 javascript 函数设置默认参数 by Tilendor

我想知道我是否有一个包含一系列 boolean 值的函数。
例如,一个名为“anAnimal”的函数,默认情况下我将三个属性的值设置为 false。
飞行、游泳和攀爬。

如果我只想将 true 参数传递给我的名为“climb”的属性,我该怎么办?

目前,在调用该方法时,我必须为 Fly 和 Swim 传入 false 值,即使我已经将它们预定义为 false。


这就是我正在尝试的,我希望结果是 true 而不是 false

function anAnimal (fly = false, swim = false, climb = false) {
this.canFly = fly;
this.canSwim = swim;
this.canClimb = climb;
}

var cat = new anAnimal(true)

var theCat = 'This cat can climb: ' + cat.canClimb;

document.write(theCat);

最佳答案

您可以传递对象而不是参数,并根据输入填充默认选项。

function anAnimal(obj) {
var defaults = {
fly: false,
swim: false,
climb: false
}

//copy the values of all enumerable own properties from one or more source objects to a target object.
Object.assign(defaults, obj);

//Assign the values
this.canFly = defaults.fly;
this.canSwim = defaults.swim;
this.canClimb = defaults.climb;
}

var cat = new anAnimal({
climb: true
});
var theCat = 'This cat can climb: ' + cat.canClimb;
document.write(theCat);

<小时/>

但是我建议使用 setter ,即 setClimb()

关于javascript - 调用 JavaScript 方法时绕过设置的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42692736/

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