gpt4 book ai didi

javascript - 我如何在这两个函数之间共享参数?

转载 作者:行者123 更新时间:2023-12-01 01:13:39 25 4
gpt4 key购买 nike

const a = {
method1: function(param) {
this.param = param;
$('span[data-count]').text('This is a parameter ' + param);
},
test: 10
}
var b = Object.create(a);
b.method2 = function(param) {
this.param = param;
$('.span2[data-count]').text('This is an another parameter ' + b.param);
}

b.method1('Orange');
b.method2('Blue');
    <span data-count></span><br>
<span data-count class="span2"></span>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">https://stackoverflow.com/questions/ask#</script>

CodePen

我有一个名为 a 的对象,它是另一个名为 b 的对象的原型(prototype)。当这些被执行时,每个结果将显示不同的标签 span.span2

我的目标是将方法1的参数共享给方法2不使用if语句。当 method2 没有参数时,我想假设屏幕上显示 method1 的参数。所以结果会是这样的;

This is a parameter Orange // method1's result
This is an another parameter Orange // method2's result

如果method2有自己的参数:

This is a parameter Orange // method1's result
This is an another parameter Blue // method2's result

我尝试了多种方法来获取各种线索,但毫无进展。

有什么办法可以做到这一点吗?

最佳答案

这是如何通过类来完成的

const foo = new class {
method1(param) {
$(`span[data-count]`).text(`This is a parameter ${this.param = param}`)
}

method2(param = this.param) {
$(`.span2[data-count]`).text(`This is an another parameter ${this.param = param}`)
}
}

foo.method1('Orange');
foo.method2();
<span data-count></span><br>
<span data-count class="span2"></span>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

因此,使用您的方法,我们为 method2 指定默认值 this.param

const a = {
method1: function(param) {
this.param = param;
$('span[data-count]').text('This is a parameter ' + param);
},
test: 10
}

var b = Object.create(a);
b.method2 = function(param = this.param) {
this.param = param;
$('.span2[data-count]').text('This is an another parameter ' + b.param);
}

b.method1('Orange');
b.method2();
<span data-count></span><br>
<span data-count class="span2"></span>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

关于javascript - 我如何在这两个函数之间共享参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54949979/

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