gpt4 book ai didi

Javascript:如何动态更新我的闭包?

转载 作者:行者123 更新时间:2023-11-27 23:22:25 25 4
gpt4 key购买 nike

我对 JS 很陌生,所以,如果这是一个愚蠢的问题,我深表歉意:

目标:每次用户从下拉菜单中选择汽车时,汽车的价格都会增加运行总计。

我这里有一个 JSFiddle 代码:Update a Closure

  <select id="select">
<option value="">Select</option>
<option value="100.00">Volvo</option>
<option value="200.00">Saab</option>
<option value="300.00">Mercedes</option>
<option value="400.00">Audi</option>
</select>

<p>total:</p>
<p id="total"> </p>

Javascript:

var addTo = function(passed) {

var add = function(inner) {
return parseInt(passed) + parseInt(inner);
}

return add
};

var inner = 0; // Need to Dynamically be able to Update this value so that it increments with each new car selected

var addProd = new addTo(inner);

$("#select").change(function() {
var car = $("#select").val();

$("#total").append(addProd(car));
});

所以,我捕获了所选的产品。然后关闭将产品价格添加为零以开始。

我选择另一辆车。第二辆汽车的价格必须添加到第一辆汽车的价格中,从而增加总数。这是网页上显示的总数。

听起来应该很容易。 fiddle 中的代码不起作用。我不知道如何让代码增加闭包的“内部”值。显然,每次选择之间都必须保留内部的内容。

最佳答案

您需要在闭包内有一个变量来保存运行总计。

var addTo = function(passed) {
var total = parseInt(passed);
var add = function(inner) {
total += parseInt(inner);
return total;
}

return add;
};

关于Javascript:如何动态更新我的闭包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35281970/

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