gpt4 book ai didi

javascript - 在私有(private)函数中访问全局(javascript)变量

转载 作者:行者123 更新时间:2023-12-02 19:10:53 25 4
gpt4 key购买 nike

我目前正在开发一个用于学习目的的计算器,在某种程度上,一切都正常,但不是以我想要的方式。

这是代码的加法部分:

HTML:

<input type="number" id="int1" />
<input type="number" id="int2" />
<input type="button" onClick="sumOf();" />
<div id="result"></div> // To display the result

JS:

var int1 = document.getElementById("int1").value;
var int1 = document.getElementById("int2").value;
var result = document.getElementById("result");

function sumOf(int1, int2) {
result.innerHTML = parseFloat(int1) + parseFloat(int2);
}

现在的情况是,如果我通过 onClick 事件调用该函数,它将导致 NaN。检查 int 的类型结果为“未定义”。所以我将变量放在函数中,它工作得很好,因为现在函数可以访问它们。

我的问题是如何授予对函数外部变量的访问权限?我尝试创建一个对象,但后来在 onClick 事件中引用对象内的正确函数时遇到问题,我尝试了“objectName.functionInsideTheObject();”。结果就是没成功。

我怎样才能做到这一点?其他计算会添加新函数,而且总是复制粘贴变量很繁琐。

编辑:

我的问题与变量声明中的“.value”有关。如果我这样声明一个变量:

var int1 = document.getElementById("int1");  // Not getting the value directly
var int2 = document.getElementById("int2");

然后像这样引用函数内变量的值:

function sumOf() {
result.innerHTML = parseFloat(int1.value) + parseFloat(int2.value);
}

效果很好。我不知道为什么 .value 在全局范围内不起作用。仍然不完美,但不那么乏味。

最佳答案

我相信如果你像这样创建它:

int1 = document.getElementById("int1").value;

如果没有 var,它就是一个全局变量。

关于javascript - 在私有(private)函数中访问全局(javascript)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741713/

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