javascript - 我可以在变量上创建任何触发器吗?

标签 javascript jquery

我在开始页面上创建了一个变量,每当我更改该变量时,我都会调用一个方法。我想做一些事情,比如我为该变量分配新值并且该方法自动执行。作为代码引用,我在下面写了一些东西。

嗯,我不想每次都写两行,比如第一行用于为变量赋值,第二行用于调用方法。我只想写一行用于分配变量,它会自动执行该方法。

请帮助我。

  var SelectedUser = 0;

function LoadInformation()
{
    alert("Selected User is " + SelectedUser);
}

function UpdateSelectedUser(){
    SelectedUser = 5;
}

最佳答案

您可以在 JavaScript 中使用 setter,如下所示:

var obj = {
  fooVal: 'this is the value of foo',
  get foo() {
      return this.fooVal;
  },
  set foo(val) {
      //here goes your trigger
      alert("trigger");
      this.fooVal = val;
  }
}

obj.foo = 'hello';//<=here goes your one line to set variable

希望这有帮助

关于javascript - 我可以在变量上创建任何触发器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53914315/

相关文章:

php - 是否可以在 JS 或 PHP 中打印 HTML 实体?

javascript - 移动设备上的弹出 div 不在屏幕中间

javascript - 禁用视频元素上的上下文菜单

jquery - 基本的 jQuery SlideUp 和 SlideDown 让我抓狂!

javascript - 带有监听器和回调的简单计数器

javascript - Webpack使用html文件中的html文字提取js

javascript - 是否可以在 ES6 的类中使用箭头函数?

javascript - 单击链接时如何定位 Bootstrap 选项卡?

jquery - 窗口大小的 setInterval + jQuery CSS 动画

Javascript - Highcharts - 输入数据数组数组