簡體   English   中英

Javascript:在函數內部更改變量?

[英]Javascript: change variable inside a function?

如何在函數內部更改變量? 我試圖基於一個預先分配的值來歸檔一個簡單的切換功能。 這里是代碼,這里是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
    }
}

在這里看看JavaScript如何使用全局變量

var valuediv = document.getElementById("value");
var c = 1;

function testit() {
    if(c === 1) 
    {
        c = 0; 
        valuediv.innerHTML = c
    } else {
        c = 1; 
        valuediv.innerHTML = c
    }
}

這可以修復您的代碼。 您在if / else塊中創建了新的“ c”變量,原因是它們以“ var”為前綴。

小提琴: http : //jsfiddle.net/jLQyx/2/

刪除var關鍵字,並寫c = 1c = 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;
    }
}

http://jsfiddle.net/jLQyx/1/

無需使用條件:

var valuediv = document.getElementById("value"),
    c = 1;
function testit() {
    c = +!c;
    valuediv.innerHTML = c
}

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM