gpt4 book ai didi

JavaScript 范围错误,变量未定义

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

请看一下这段代码:

<script>
var mygrid;
function lock(){
for (var i=1; i<15; i++)
{
var cur_row=i + "";
mygrid.lockRow(cur_row,true);
mygrid.setRowColor(i,"#E5E5E5");
}
}
function doInitGrid(){
mygrid = new SomeClass;
}
</script>
</head>
<body onload="doInitGrid()" dir=rtl>
<div id="mygrid_container" style="width:905px;height:550px;"></div>
<script>lock();</script>
<button onclick="addRow()">Add Row</button>
<button onclick="removeRow()">Remove Row</button>
<button onclick="lock()">lock Row</button>
</body>

为什么当我运行锁定功能(没有按钮)时,我的变量未定义,而当我单击按钮时一切正常?

最佳答案

这是一个时间问题,而不是范围问题。

您仅调用 doInitGrid() onload,因此在文档加载完成之前,它不会为 mygrid 赋值。

当您内联调用 lock() 时,您将在文档加载时执行此操作。

您可能已经等到文档加载完毕才单击该按钮。

关于JavaScript 范围错误,变量未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8488236/

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