摘要:表示能否修改屬性的值。對(duì)于直接在對(duì)象上定義的屬性,這個(gè)特性的默認(rèn)值為。默認(rèn)值為設(shè)置一個(gè)屬性的值會(huì)導(dǎo)致其他屬性的變化如果的有值,就不要對(duì)再設(shè)置屬性所在的對(duì)象要讀取其描述符的屬性名稱
對(duì)象定義
對(duì)象定義:無(wú)序?qū)傩缘募希鋵傩钥梢园局?、?duì)象或函數(shù)
對(duì)象就是 鍵值對(duì) 其中值可以是數(shù)據(jù)和函數(shù)
對(duì)象方法就是對(duì)象的屬性 不過(guò)這個(gè)屬性是函數(shù)
var p = new Object() p.name = "nike" p.age = "10" p.job = "joker" p.sayName = function() { console.log(this.name) } console.log(p.age)//10 p.sayName() //nike
var p = { name: "nike", age: "10", job: "joker", sayName: function(){ console.log(this.name) } } console.log(p.job)//joker p.sayName() //nike屬性類型 數(shù)據(jù)屬性
Configurable:表示能否通過(guò) delete 刪除屬性從而重新定義屬性,能否修改屬性的特
性,或者能否把屬性修改為訪問(wèn)器屬性。像前面例子中那樣直接在對(duì)象上定義的屬性,它們的這個(gè)特性默認(rèn)值為 true。
Enumerable:表示能否通過(guò) for-in 循環(huán)返回屬性。像前面例子中那樣直接在對(duì)象上定
義的屬性,它們的這個(gè)特性默認(rèn)值為 true。
Writable:表示能否修改屬性的值。像前面例子中那樣直接在對(duì)象上定義的屬性,它們的
這個(gè)特性默認(rèn)值為 true。
Value:包含這個(gè)屬性的數(shù)據(jù)值。讀取屬性值的時(shí)候,從這個(gè)位置讀;寫入屬性值的時(shí)候,把新值保存在這個(gè)位置。這個(gè)特性的默認(rèn)值為 undefined。
修改這 3 個(gè)值需要用 es5 的Object.defineProperty()方法
這個(gè)方法接收 3 個(gè)參數(shù):屬性所在的對(duì)象、屬性的名字、描述符對(duì)象
描述符對(duì)象的屬性必須是:configurable enumerable writeble value
var person = {} Object.defineProperty(person, "name", { writable: true, value: "nike" }) console.log(person.name)//nike person.name = "gray" console.log(person.name)//gray
var person = {} Object.defineProperty(person, "name", { configurable: true, value: "nike" }) console.log(person.name)//nike delete person.name console.log(person.name)//undefined訪問(wèn)器屬性
Configurable:表示能否通過(guò) delete 刪除屬性從而重新定義屬性,能否修改屬性的特性,或者能否把屬性修改為數(shù)據(jù)屬性。對(duì)于直接在對(duì)象上定義的屬性,這個(gè)特性的默認(rèn)值為true
Enumerable:表示能否通過(guò) for-in 循環(huán)返回屬性。對(duì)于直接在對(duì)象上定義的屬性,這個(gè)特性的默認(rèn)值為 true。
Get:在讀取屬性時(shí)調(diào)用的函數(shù)。默認(rèn)值為 undefined。
Set:在寫入屬性時(shí)調(diào)用的函數(shù)。默認(rèn)值為 undefined
var person = { oldname: "jac", age: "10" } Object.defineProperty(person, "newname", { get: function(){ return this.oldname }, set: function(value){ this.oldname = value } }) person.newname = "bool" console.log(person.oldname)//bool //設(shè)置一個(gè)屬性的值會(huì)導(dǎo)致其他屬性的變化
var person = { name: "handsome" } Object.defineProperties(person, { boy: { get: function () { return this.name + " hua" }, set: function (value) { return this.name = value } }, man: { get: function () { return this.name }, set: function (value) { return this.name = value } }, year: { value: 20 } }) console.log(person.boy)//handsome hua console.log(person.man)//handsome //如果person的name有值,就不要對(duì)name再設(shè)置 get set var descriptor = Object.getOwnPropertyDescriptor(person, "year") //屬性所在的對(duì)象、要讀取其描述符的屬性名稱 console.log(descriptor.value)//20
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84642.html
摘要:用代碼可以這樣描述安全到達(dá)國(guó)外面向過(guò)程既然說(shuō)了面向?qū)ο?,那么與之對(duì)應(yīng)的就是面向過(guò)程。小結(jié)在這篇文章中,介紹了什么是面向?qū)ο蠛兔嫦蜻^(guò)程,以及中對(duì)象的含義。 這是 javascript 面向?qū)ο蟀鎵K的第一篇文章,主要講解對(duì)面向?qū)ο笏枷氲囊粋€(gè)理解。先說(shuō)說(shuō)什么是對(duì)象,其實(shí)這個(gè)還真的不好說(shuō)。我們可以把自己當(dāng)成一個(gè)對(duì)象,或者過(guò)年的時(shí)候相親,找對(duì)象,那么你未來(lái)的老婆也是一個(gè)對(duì)象。我們就要一些屬性,比...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:返回值是一個(gè)對(duì)象,如果是訪問(wèn)器屬性,這個(gè)對(duì)象的屬性有和如果是數(shù)據(jù)屬性,這個(gè)對(duì)象的屬性有和。上一篇面向?qū)ο蟀鎵K之對(duì)象屬性下一篇面向?qū)ο蟀鎵K之創(chuàng)建對(duì)象 這是 javascript 面向?qū)ο蟀鎵K的第三篇文章,主要講解的是多個(gè)屬性的定義以及讀取屬性的特性。前面這幾章內(nèi)容目的在于加深對(duì)對(duì)象的理解,這樣可以利于理解后面的原型鏈以及繼承方面的知識(shí),或者你也可以了解一下不一樣的 javascript ...
摘要:上一篇面向?qū)ο蟀鎵K之理解對(duì)象下一篇面向?qū)ο蟀鎵K之定義多個(gè)對(duì)象屬性以及讀取屬性特性 這是 javascript 面向?qū)ο蟀鎵K的第二篇文章,主要講解的是對(duì)象的屬性,首先創(chuàng)建一個(gè)對(duì)象: var person = { name: Nicholas, age: 29, job: Software Engineer, sayName: function () { conso...
閱讀 2895·2021-10-26 09:49
閱讀 3230·2021-10-14 09:42
閱讀 2056·2021-09-13 10:31
閱讀 2599·2019-08-30 11:13
閱讀 2971·2019-08-29 16:31
閱讀 1086·2019-08-29 13:58
閱讀 1869·2019-08-29 12:12
閱讀 3595·2019-08-26 13:48