博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
存取器描述
阅读量:5348 次
发布时间:2019-06-15

本文共 1348 字,大约阅读时间需要 4 分钟。

当使用存取器描述属性的特性的时候,允许设置以下特性属性:

1 var obj = {};2 Object.defineProperty(obj,"newKey",{3     get:function (){} | undefined,4     set:function (value){} | undefined5     configurable: true | false6     enumerable: true | false7 });

注意:当使用了getter或setter方法,不允许使用writable和value这两个属性

getter/setter

当设置或获取对象的某个属性的值的时候,可以提供getter/setter方法。

  • getter 是一种获得属性值的方法

  • setter是一种设置属性值的方法。

在特性中使用get/set属性来定义对应的方法。

1 var obj = {}; 2 var initValue = 'hello'; 3 Object.defineProperty(obj,"newKey",{ 4     get:function (){ 5         //当获取值的时候触发的函数 6         return initValue;     7     }, 8     set:function (value){ 9         //当设置值的时候触发的函数,设置的新值通过参数value拿到10         initValue = value;11     }12 });13 //获取值14 console.log( obj.newKey );  //hello15 16 //设置值17 obj.newKey = 'change value';18 19 console.log( obj.newKey ); //change value

又如:

1  object.defineProperty (this,'price',{ 2             get:function(){return price*0.9}, 3             set:function(value){ 4                 if(value>10000) 5                 { 6                     alert('产品价格必须在0--1万之间'); 7                 }else{ 8                     price=value; 9                 }10             }11         })

 

注意:get或set不是必须成对出现,任写其一就可以。如果不设置方法,则get和set的默认值为undefined

configurable和enumerable同上面的用法。

兼容性

在ie8下只能在DOM对象上使用,尝试在原生的对象使用 Object.defineProperty()会报错。

转载于:https://www.cnblogs.com/yangguoe/p/8055889.html

你可能感兴趣的文章
java 服务重启 js 中被注释代码仍然执行
查看>>
我并不是不闻不问![C#]
查看>>
web前端经典小题
查看>>
AutoCAD如何倒角 倒圆角 倒直角
查看>>
Office PPT中如何插入flash
查看>>
C# Fade Form Effect With the AnimateWindow API Function
查看>>
golang多维数组的切片
查看>>
IP 网际协议
查看>>
C语言_第五章__实践(密码转换)
查看>>
docker 容器后台运行命令
查看>>
jquery 获取css position的值
查看>>
面向对象的程序设计
查看>>
a标签添加点击事件
查看>>
Context.startActivity出现AndroidRuntimeException
查看>>
Intellij idea创建javaWeb以及Servlet简单实现
查看>>
代理网站
查看>>
Open multiple excel files in WebBrowser, only the last one gets activated
查看>>
FFmpeg进行视频帧提取&音频重采样-Process.waitFor()引发的阻塞超时
查看>>
最近邻与K近邻算法思想
查看>>
【VS开发】ATL辅助COM组件开发
查看>>