Javascript 为什么切换功能不能按预期工作?
我对javascript非常陌生,我从编写一个小脚本的简单任务开始。。在这里,我希望通过切换按钮点击来显示字符串Javascript 为什么切换功能不能按预期工作?,javascript,Javascript,我对javascript非常陌生,我从编写一个小脚本的简单任务开始。。在这里,我希望通过切换按钮点击来显示字符串 <!DOCTYPE html> <html> <body> <button onclick="foo()">Foo</button> <button onclick="toggle()">Toogle</button> <p id="demo"></p> <scr
<!DOCTYPE html>
<html>
<body>
<button onclick="foo()">Foo</button>
<button onclick="toggle()">Toogle</button>
<p id="demo"></p>
<script>
var toggle = false;//set the desired initial value to toggle flag
var x = "";
function toggle() {
alert("ENTERED Toggle");
toggle = !toggle;
x= toggle? "Toggle set to true. " : "";
}
function foo() {`enter code here`
alert("ENTERED Foo");
var y = "Food pressed";
y = x + y;
document.getElementById("demo").innerHTML=y; // display the x value
}
</script>
</body>
</html>
福
图格尔
var-toggle=false//将所需的初始值设置为切换标志
var x=“”;
函数切换(){
警报(“输入切换”);
切换=!切换;
x=切换?“切换设置为真。”:“”;
}
函数foo(){`在此处输入代码`
警报(“输入Foo”);
var y=“食品压榨”;
y=x+y;
document.getElementById(“demo”).innerHTML=y;//显示x值
}
预期:当仅单击foo时,将显示警报框,单击“确定”,只应显示普通的“foo pressed.”。单击切换一次,然后单击foo,则会显示“切换设置为true。foo按下“{此过程中发生两个警报}”,再次按下切换,然后按下foo。切换标志为切换,仅显示“foo按下”。随后
实际结果:只有foo-click起作用,而toggle-click根本不起作用
有人能解释一下吗?你的名字不一致。
toggle
函数替换toggle
变量。这是因为在ECMAScript(Javascript)中,可以通过不添加括号来传递函数,也就是说函数是空的
这方面的一个例子是:
x = alert; //"x" is now the same function as "alert"
x("Hej");
因此,您对切换
功能的定义等同于此分配:
var toggle = function() {
alert("ENTERED Toggle");
toggle = !toggle;
x= toggle? "Toggle set to true. " : "";
}
解决方案是为函数或变量指定另一个名称。您询问过浏览器的调试器了吗?-F12代表IE,Ctrl-Shift-I代表FF、Chrome和Opera。请学习。维克斯特罗姆:非常感谢。现在可以了。我不知道我不能有一个函数和一个同名的变量。。。