javascript - 在 JavaScript 中调用赋值函数

标签 javascript function variable-assignment

我很确定这是不可能的,但也许聪明的人知道是否有机会实现这项工作。是否可以在以下位置添加代码:

1    myPerson = new Person();
2    myPerson.name = 'Charles Xavier';

第 2 行代码自动检查 myPerson.setName 是否存在,如果存在则调用

myPerson.setName('Charles Xavier');

代替直接赋值。

最佳答案

不,抱歉!不过,在 ES6 中这是可能的:

var o = {};
Object.defineProperty(o, "name", {
  set: function (value) {
    console.log("Property 'name' set to: " + value);
    // store 'value' somewhere
  }
});

参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

相关:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create

由于这在

关于javascript - 在 JavaScript 中调用赋值函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23136848/

相关文章:

javascript - 使用解构的动态命名值

javascript - 如何在reactjs中使用原型(prototype)

javascript - 视频播放与圈子同步扩展

objective-c - 我可以创建只对我的类可见的 C 函数,它被分成多个文件吗?

javascript - 带有 php 元素的 javascript 计时器

c - 这些 for 循环有什么区别?

ruby - 你可以在rescue修饰符中放置多个赋值吗?

javascript - 仅将数据返回到数组中

javascript - 如何为多种表单编写一个handleSubmit函数来setState

function - 让Lua打印(functionname.variable)