2013-03-26 4 views
0

функция Javascript 1:Как присвоить значение 0 переменной?

var count = 0; 

function myFunction() 
{ 
count++; 
document.getElementById("count").innerHTML=count; 
} 

Javascript Функция 2:

function demo() { 
var y=document.getElementById("count").innerHTML; 
if(y=="0") { 
alert("There's nothing to be reset."); 
} 
else { 
var count=0; 
alert("Reset."); 
// alternative code I used: document.getElementById("count").innerHTML="0"; 
} 
} 

HTML код:

<a href="Javascript:myFunction()">Click here</a> 
<p>Total:<span id="count">0</span></p> 
<button onclick="demo()">reset</button> 

Есть ли способ сбросить переменную в 0 в этом коде?

Я попытался сбросить переменную count до нуля, используя document.getElementById() и добавив =0; к переменной. Ни один из них не работает. Например, если пользователь должен был щелкнуть ссылку, счет будет увеличиваться до 1. Когда они нажмут кнопку сброса, он будет сброшен на 0 (если не использовать `var count = 0;). Однако, если пользователь снова должен щелкнуть ссылку, счет будет возвращать значение 2, так как он может просто продолжать увеличиваться с предыдущего времени.

Прошу прощения, если это уже было дано в другом месте, но очень сложно найти условия = и ++.

ответ

0

Две вещи:

  1. Избавьтесь от var где вы сбросить переменную. Это дает вам отдельную локальную переменную с тем же именем.

  2. Использование «count» в качестве имени переменной, если оно глобально, вызовет проблемы, если вы также получили элемент с идентификатором «count» в DOM. Используйте другое имя переменной или другой идентификатор или убедитесь, что переменная не является глобальной (не могу указать из опубликованного кода).

1

Вы сделали это локальная переменная с помощью var

else { 
    var count=0; 
    alert("Reset."); 

должен быть

else { 
    count=0; 
    alert("Reset."); 
0

Вещи, которые вы должны chnage в коде:

И сделать сравнение с

if(parseInt(y) === 0) // You are converting it to integer and doing a strict check 

еще построить к

else { 
    count = 0; 
    alert('Reset'); 
    } 
+0

Спасибо. Я не совсем уверен, что делает 'parseInt (y) ===' part, но я добавлю его сейчас. Редактировать: спасибо. – 2013-03-26 19:32:26

+0

@LiamB parseInt (y) преобразует его в целое число и === для сравнения в javascript – theshadowmonkey

Смежные вопросы