gpt4 book ai didi

javascript - 全局变量在函数 javascript 中失效

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

我正在尝试使用 js 更新全局数组,我刚刚意识到我无法从函数中的任何位置访问它的任何内容。当删除 if/else 语句时,new_time 的警报会起作用,但最后一个警报不会。有了 if/else ,它会破坏我的代码并且没有任何运行。我读到您可以仅通过名称访问全局变量,那么为什么 changed_select_box_array 会在这里导致问题呢? (也尝试将其称为全局。,窗口。,和这个。)

var one = document.optionObject("id_open_time_1");

var changed_select_box_array = [];

function showID(id){
if (changed_select_box_array.length > 0){
alert('somethin');
}
else{
alert('nuttin');
}
var x = document.getElementById(id).selectedIndex;
var time = document.getElementsByTagName("option")[x].value;
var change = {id:id, new_time:time};

alert(change.new_time);

changed_select_box_array.push(change);
alert(changed_select_box_array[0].id);
}

不知何故,上面的这段代码(几天来没有影响任何事情)导致了问题:

    var one = document.optionObject("id_open_time_1");

我很想知道为什么会导致问题

最佳答案

我没有看到错误。对我有用。

<select id="test">
<option value="1">T1</option>
<option value="2" selected>T2</option>
<option value="3">T3</option>
</select>

<script>
var changed_select_box_array = [];
showID('test');

function showID(id){
if (changed_select_box_array.length > 0){
alert('somethin');
}
else{
alert('nuttin');
}
var x = document.getElementById(id).selectedIndex;
var time = document.getElementsByTagName("option")[x].value;
var change = {id:id, new_time:time};

alert(change.new_time);

changed_select_box_array.push(change);
alert(changed_select_box_array[0].id);
}
</script>

JsFiddle

关于javascript - 全局变量在函数 javascript 中失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30515556/

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