我在做什麼錯?如果按鈕被點擊,變量s的值將爲10,如果不是,則爲0.它不工作。如果點擊了按鈕,更改Javascript中的變量
$('button').observe('click', function() {
var clicked = true;
window.clicked = clicked;
});
if (clicked)
{
var s = 10;
}
else
{
var s = 0;
}
我在做什麼錯?如果按鈕被點擊,變量s的值將爲10,如果不是,則爲0.它不工作。如果點擊了按鈕,更改Javascript中的變量
$('button').observe('click', function() {
var clicked = true;
window.clicked = clicked;
});
if (clicked)
{
var s = 10;
}
else
{
var s = 0;
}
這可能會幫助你 -
<button>
click
</button>
<script>
var clickCounter=0;
var s=0;
alert(s);
$('button').on('click',function(){
var s=10;
alert(s);
});
</script>
最初,變量將存儲值爲0,單擊vutton後變量分配值10.
您正在if和else範圍內創建一個變量S. 如果創建一個變種S的外面,其他並分配之後
或者你也可以做這樣的:
var s = 0;
$('button').observe('click', function() {
s = 10;
});
這樣,你只有點擊後分配10秒。你以前的代碼永遠不會設置任何東西到10
你到底想要達到什麼目的?爲什麼不在點擊事件中設置s = 10
?就像這樣:
var s = 0;
$('button').click(function() {
s = 10;
console.log(s);
});
console.log(s);
或者,如果你想觀察值改變,嘗試這樣的事情:
$('button').click(function() {
object.s = 10;
});
var object = {};
Object.defineProperty(object, 's', {
get: function() {
return this.value;
},
set: function(newValue) {
alert(newValue);
this.value = newValue;
}
});
object.s = 0;
這對我工作,謝謝。儘管它完全不是我想要的,因爲var s = 10;裏面的函數需要沒有'var'。 – JohnMichael