gpt4 book ai didi

javascript - 检查变量 jQuery 的最佳方法

转载 作者:行者123 更新时间:2023-11-28 13:23:27 25 4
gpt4 key购买 nike

我有一个脚本,用于检查变量是否已设置或等于“否”。如果它等于 no 或未设置,则将 var 定义为“yes”。

这是我的代码

if (typeof progress == 'undefined' || progress == 'no') { 
document.getElementById('button-play').onclick = null;
var progress = 'yes';

然后调用一个函数,将变量覆盖为 no。

function enableButton(){
var progress = 'no';
document.getElementById('button-play').onclick = play();
}

第一次执行脚本且进度未定义时,脚本可以工作,并且会将进度覆盖为“否”,但是当我尝试将 var 进度定义为“否”再次运行脚本时,它不起作用。

我是否正确检查了进度值?

添加了jsfiddle:https://jsfiddle.net/zxxubopq/

最佳答案

Javascript 中的范围全局函数。如果您在 function 中定义变量,则该变量的作用域仅在该 function 内。

这不会覆盖变量,它是 enableButton() 范围内的一个不同的本地 progress 变量。你应该修复你的范围,它就会起作用。

<小时/>

发表评论后进行编辑:

document.getElementById('button-play').onclick = play();

实际上是错误的,因为你想要将函数分配给onclick,而不是返回值,所以你实际上需要:

document.getElementById('button-play').onclick = play;

请记住,JavaScript 函数是一等函数,因此可以像对待任何其他对象一样对待它们。

关于javascript - 检查变量 jQuery 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31207890/

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