若单击按钮,则更改Javascript中的变量

If button is clicked change variable in Javascript

本文关键字:Javascript 变量 单击 按钮      更新时间:2023-09-26

我做错了什么?如果单击该按钮,变量s的值将为10,否则为0。但它不起作用。

$('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。在if和else之外创建一个var,然后分配

或者你可以这样做:

   var s = 0;    
   $('button').observe('click', function () {
      s = 10;
   });

这样,只有在单击后才能将10指定给s。您以前的代码永远不会将任何内容设置为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;