gpt4 book ai didi

javascript - 在 JavaScript 中初始化全局变量

转载 作者:行者123 更新时间:2023-11-29 15:43:43 28 4
gpt4 key购买 nike

如果我的 .js 文件顶部有以下行,当我调用一个使用 clickButton 的函数时,它说它是 null?

在 HTML 中

<input type="text" onkeydown="toggle()" id="txt1" />
<input name="aButton" id="aButton" type="button" value="ButtonVal" />

在 JS 中

//global variables
var clickButton = document.getElementById("aButton")
var state = false

function toggle()
{
if(!state)
/*here it says clickButton is null but if I put var clickButton =
document.getElementById("aButton") in this scope it works*/
clickButton.disabled = true
else
clickButton.disabled = false
}

此外,null 和 undefined 之间的区别(不是我检查的方式)是什么?是不是已经声明了 null 但没有赋值,而 as undefined 甚至都没有声明?

我是说 this question说“程序员没有分配任何东西的属性将是未定义的,但为了使属性变为 null,必须显式地为其分配 null。”但我可以向你保证,我从未明确地将 null 分配给任何东西。

最佳答案

这意味着 document.getElementById("aButton") 返回 null。具有指定 ID 的元素在 dom 中不可用,或者您的 dom 尚未准备好 - 请参阅 https://developer.mozilla.org/en-US/docs/DOM/document.getElementById .

对于 null 与 undefined - 请参阅 What is the difference between the mouseover and mouseenter events?

关于javascript - 在 JavaScript 中初始化全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15012171/

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