JavaScript的Object.defineProperty( )方法
2024-10-21 12:46:19
Object.defineProperty方法可以在一个对象上定义一个新的属性,或者修改该对象原有的属性,并返回该对象。
基础的语法格式如下:
1 var data = {}//定义一个对象
2 Object.defineProperty(data,'name',{
3 configurable:false,//设置对象的属性是否可以被修改/删除(默认为false)
4 enumerable:false,//设置对象的该属性是否可以枚举(默认为false)
5 value:111,//设置对象该属性的值(数值,对象,函数等)默认为undefined
6 writable:false,//设置对象该属性的值是否可以修改(默认为false)
7 //get函数,函数的返回值被用作属性的值
8 //set函数,属性值被修改时,调用此函数。
9
10
11 })
可以利用该属性,实现vue的双向绑定:
1 <input type="text" id="text" placeholder="请输入你的名字" />
2 <p id="textshow"></p>
1 var obj = {}
2 Object.defineProperty(obj,'name',{
3 set(val){
4 $('#text').val(val);//设置或返回表单字段的值
5 $('#textshow').text(val);//设置或返回元素的文本内容
6 },
7 get(){}
8 })
9 $('#text').keyup(function(event){
10 obj.name = event.target.value;
11 })
12 console.log(obj)
实现效果如图所示:
当在控制台设置属性的值,dom页面也会做出改变
实现效果如图所示:
当对象需要设置多个属性时,可以使用Object.defineProperties
语法格式为:
1 var obj = {};
2 Object.defineProperties(obj, {
3 'property1': {
4 value: true,
5 writable: true
6 },
7 'property2': {
8 value: 'Hello',
9 writable: false
10 }
11 // etc. etc.
12 });
好的,第一篇随笔结束,完结,撒花!
最新文章
- java中对final关键字的理解以及使用场景
- JSP网站开发基础总结《十一》
- Map 对象
- magento url rewrite
- VC 为静态控件添加事件
- dplyr 数据操作 常用函数(4)
- web console实现
- 如何面试 PHP 工程师?
- VS2010安装Boost库
- 使用Update Strategy组件无法进行delete操作
- 使用mybatis-spring-boot-starter如何打印sql语句
- LOJ 2542 「PKUWC2018」随机游走 ——树上高斯消元(期望DP)+最值反演+fmt
- matlab 函数句柄@的介绍_什么是函数句柄(转)
- poj 食物链
- POJ 3169 Layout (spfa+差分约束)
- eureka -2 - 重要配置
- 几个与特殊字符处理有关的PHP函数(过滤html js 标签)
- 关于std::ios::sync_with_stdio(false)
- MSSQL中循环
- HashTable 元素的查找