全国服务热线:4008-888-888

公司新闻

object.defineProperty的了解

var personObj = {}; personObj.name = "盖聂"; personObj["sex"] = "男"; 

除开根据“obj.propertyName”和"obj[propertyName]"界定,改动外,还能够根据ES5原生态API "obj.defineProperty"而定义和改动目标特性。

 Object.defineProperty(personObj, "name", { value: "剑圣盖聂" }) 


descriptor主要参数值的种类是object目标,关键包含value,writable,enumberable,configurable等字段名名。简易剖析了解下这种字段名的功效和使用方法。

value: 必须实际操作的特性值,默认设置数值undefined


enumberable: 特性是不是可被枚举类型,为true时表明可被枚举类型,相反表明不可以被枚举类型,默认设置为false

数值false时:


configurable: 是不是能够删掉总体目标特性或是是不是能够再次改动特性的特点,为true时表明能够删掉或是改动,false时反过来,默认设置为false。


当应用存储器叙述特性的特点的情况下,descriptor主要参数容许应用getter和setter方式,用以设定或获得目标的某一特性的值。当应用了getter或setter方式,不容许应用writable和value这2个特性。在特点中应用get/set特性而定义相匹配的方式。

var mockData = { name: "剑圣-卫庄", title: "渊虹" }; var personObj = {}; Object.defineProperty(personObj,"name", { get: function(){ //在获得该特性非常值得情况下开启该涵数 debugger; return mockData.name }, set: function(value){ //当设定该特性值的情况下开启该涵数,设定的新值根据主要参数value取得 debugger; mockData.name = value; } }) 



在线客服

关闭

客户服务热线
4008-888-888


点击这里给我发消息 在线客服

点击这里给我发消息 在线客服