gpt4 book ai didi

javascript - 将数字添加到未定义的值

转载 作者:行者123 更新时间:2023-11-30 07:35:16 25 4
gpt4 key购买 nike

在 JS 示例中:

 var test;

function test () {
var t = test + 1;
alert(t);
}

我正在尝试制作一个计数器,但如果我将 test 设置为 0,它仍然总是给我 1。我不知道我做错了什么。我正在通过一个按钮激活该功能。

最佳答案

应该test 定义为 0 开始,这样它就可以作为 Number 类型的对象开始>。将数字添加到 undefined 会导致 NaN(非数字),这不会让您得到任何结果。

现在要解决为什么数字永远不会超过 1 的问题,第一个错误是您实际上没有在代码中增加 test 的值,您只需在 alert() 之前将临时添加 1 的结果分配给 t 该结果。这里没有 test 的突变。使用前置或后置增量运算符或将 test + 1 的结果设置回 test 以更新它。

其次,你可能不应该有一个函数和一个局部变量同名,它只会混淆事情。

考虑到所有这些,我们得到:

var test = 0; // Now test is a Number

function testIncrementOne() { // name change to prevent clashing/confusing
var t = ++test; // pre-increment (adds 1 to test and assigns that result to t)
// var t = test++; // post-increment (assigns the current value of test to t
// and *then* increments test)
alert(t);
}

或者只是:

 function testIncrementOne() {
alert(++test);
}

关于javascript - 将数字添加到未定义的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35738127/

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