Object.defineProperty()方法直接在对象上定义一个新属性,或修改对象上的现有属性,并返回该对象。

Object.defineProperty(obj, prop, descriptor)

参数

  obj 定义属性的对象。
  prop 要定义或修改的属性的名称。

  descriptor 定义或修改属性的描述符。

  返回值 传递给函数的对象。
注意:数据描述符和访问器描述符,不能同时存在(value,writable 和 get,set)

  get:函数return将被用作属性的值。

  set:该函数将仅接收参数赋值给该属性的新值。(在属性改变时调用)

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="text" id="aa"/>*<input type="text" id="cc"/>
<span id="bb">{{hello}}</span> <script>
var obj = {};
Object.defineProperty(obj,'hello',{
enumerable: true,
configurable: true,
get: function() { return document.getElementById('aa').value; },
set:function(val){
document.getElementById('bb').innerHTML = val*obj.hello2;
}
});
Object.defineProperty(obj,'hello2',{
enumerable: true,
configurable: true,
get: function() { return document.getElementById('cc').value; },
set:function(val){
document.getElementById('bb').innerHTML = val*obj.hello;
}
});
document.getElementById('aa').onkeyup = function(){
obj.hello = this.value;
};
document.getElementById('cc').onkeyup = function(){
obj.hello2 = this.value;
};
obj.hello = "";
obj.hello2 = "";
</script> </body>
</html>

最新文章

  1. Office2010安装错误1402问题(我安装成功了)
  2. 算法练习之leetcode系列1-3
  3. MongoDB ObjectId
  4. [MacOSX]
  5. DateTime格式大全
  6. java中String s=&quot;abc&quot;及String s=new String(&quot;abc&quot;)详解
  7. Android:关于背景选择器Selector的item顺序
  8. 纯css实现table表格固定列和表头,中间横向滚动的思路-附案例
  9. 201521123059 《Java程序设计》第十二周学习总结
  10. Day19 Django
  11. JavaScript实现登录窗口的拖拽
  12. ES6语法(3)—— 用promise()对象优雅的解决异步操作
  13. Layui treeGrid
  14. 5. Tomcat窗口标题修改
  15. u3d中 rect[2] == rt-&gt;GetGLWidth() &amp;&amp; rect[3] == rt-&gt;GetGLHeight()错误的原因及解决方法
  16. SQL、Linq和Lambda表达式 的关系
  17. SecureCRT SSH连接一直提示密码错误
  18. Redis学习(1)--环境配置,安装JDK,MySQL,tomcat
  19. FORM 错误:此责任无可用函数。 更改责任或与您的系统管理员联系。
  20. 【我要学python】面对对象编程之继承和多态

热门文章

  1. Python基础之自定义工具类
  2. React 之 JSX
  3. linux操作命令之搜索命令
  4. Java中CAS原理详解
  5. [Swift]LeetCode56. 合并区间 | Merge Intervals
  6. [Swift]LeetCode123. 买卖股票的最佳时机 III | Best Time to Buy and Sell Stock III
  7. [Bash]LeetCode193. 有效电话号码 | Valid Phone Numbers
  8. 你还在 Select * 吗?
  9. spark System memory must be at least
  10. 死磕 java集合之CopyOnWriteArrayList源码分析