如何更改函数内的变量?我试图根据一个预先指定的值归档简单的切换功能。这里的代码和http://jsfiddle.net/StartStep/jLQyx/
<p onclick="testit()">CLick</p>
<p id="value">Value</p>
var valuediv = document.getElementById("value");
function testit() {
if (c == 1) {
var c = 1;
valuediv.innerHTML = c
} else {
var c = 0;
valuediv.innerHTML = c
}
}
答案 0 :(得分:3)
在这里查看 JavaScript uses Global Variables 的方式。
var valuediv = document.getElementById("value");
var c = 1;
function testit() {
if(c === 1)
{
c = 0;
valuediv.innerHTML = c
} else {
c = 1;
valuediv.innerHTML = c
}
}
这会修复您的代码。你正在创造新的&#34; c&#34; if / else块中的变量,因为它们带有&#34; var&#34;。
答案 1 :(得分:1)
删除var
关键字并撰写c = 1
&amp; c = 0
。您在函数内重新创建变量c
,而不是更新全局c
变量。
var valuediv = document.getElementById("value");
var c = 1;
function testit() {
if (c == 1) {
c = 0;
valuediv.innerHTML = c;
} else {
c = 1;
valuediv.innerHTML = c;
}
}
答案 2 :(得分:1)
无需使用条件:
var valuediv = document.getElementById("value"),
c = 1;
function testit() {
c = +!c;
valuediv.innerHTML = c
}