成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

面向?qū)ο蟮某绦蛟O(shè)計——理解對象

xiyang / 406人閱讀

摘要:面向?qū)ο蟮某绦蛟O(shè)計把對象定義為無須屬性的集合,其屬性可以包含基本值對象或者函數(shù)。接收三個參數(shù)屬性所在的對象,屬性的名字和一個描述符對象。描述符對象必須是,,,。

面向?qū)ο蟮某绦蛟O(shè)計

ECMA-262 把對象定義為:無須屬性的集合,其屬性可以包含基本值、對象或者函數(shù)。

理解對象
var person = new Object();        //創(chuàng)建對象
person.name = "Nicholas";        //添加屬性
person.age = 29;
person.job = "teacher";
person.sayName = function(){    //添加方法,this 表示當前作用域下的對象;this 表示new Objecy() 實例化出來的那個對象;this 要放在一個作用域下,比如person.sayName()是person 下的方法,方法可用this 表示方法本身。
    alert(this.name);
};
屬性類型

ECMAScript 中有兩種屬性:數(shù)據(jù)屬性和訪問器屬性,它們不能在JavaScript 中直接訪問,規(guī)范把它們放在了兩對[[]]中間,如:[[Enumerable]]。

數(shù)據(jù)屬性
數(shù)據(jù)屬性是包含一個數(shù)據(jù)值的屬性,在這個位置可以讀取和寫入值。4個特性
[[Configurable]]:表示能否通過delete刪除屬性、能否修改屬性的特性,能否把屬性修改為訪問器屬性。默認true。
[[Enumerable]:表示能通過for-in循環(huán)返回屬性。默認true。
[[Writable]]:表示能否修改屬性值。默認true。
[[Value]]:包含這個屬性的數(shù)據(jù)值。默認undefined。
例:

var person = {
    name: "Nicholas"        //[[Value]]的特性將這里設(shè)置為"Nicholas",對這個值的任何修改都講反應(yīng)在這里。
};

要修改默認特性,要使用Object.defineProperty()方法。接收三個參數(shù):屬性所在的對象,屬性的名字和一個描述符對象。描述符對象必須是configurable,enumerable,writable,value。
例:

var person = {};
Object.defineProperty(person,"name",{        //person:屬性所在的對象;name:屬性名;花括號內(nèi)是描述符對象
    writable: false,            //只讀模式,true寫入模式
    value: "Nicholas"
});
person.name = "zhangsan";
alert(person.name);                //打印"Nicholas" 因為這邊是只讀模式

在調(diào)用Object.defineProperty()時如果不指定configurable,enumerable,writable,默認都是false。

訪問器屬性
訪問器屬性不包含數(shù)據(jù)值,它們包含一對gettersetter函數(shù)。
getter:讀取訪問器屬性調(diào)用
setter:寫入訪問器屬性調(diào)用
4個特性:
[[Configurable]]:表示能否通過delete刪除屬性、能否修改屬性的特性,能否把屬性修改為訪問器屬性。默認true
[[Enumerable]:表示能通過for-in循環(huán)返回屬性。默認true。
[[getter]]:讀取訪問器屬性調(diào)用,默認undefined
[[setter]]:寫入訪問器屬性調(diào)用,默認undefined。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/94555.html

相關(guān)文章

  • 面向對象 JavaScript

    摘要:是完全的面向?qū)ο笳Z言,它們通過類的形式組織函數(shù)和變量,使之不能脫離對象存在。而在基于原型的面向?qū)ο蠓绞街?,對象則是依靠構(gòu)造器利用原型構(gòu)造出來的。 JavaScript 函數(shù)式腳本語言特性以及其看似隨意的編寫風格,導致長期以來人們對這一門語言的誤解,即認為 JavaScript 不是一門面向?qū)ο蟮恼Z言,或者只是部分具備一些面向?qū)ο蟮奶卣?。本文將回歸面向?qū)ο蟊疽猓瑥膶φZ言感悟的角度闡述為什...

    novo 評論0 收藏0
  • 談?wù)勎覍?em>面向對象以及類與對象理解

    showImg(https://segmentfault.com/img/remote/1460000007103938?w=391&h=247); 文章最初發(fā)表于我的個人博客非典型性程序猿 對于剛接觸JAVA或者其他面向?qū)ο缶幊陶Z言的朋友們來說,可能一開始都很難理解面向?qū)ο蟮母拍钜约邦惡蛯ο蟮年P(guān)系。筆者曾經(jīng)帶過一個短期培訓班教授java入門基礎(chǔ),在最后結(jié)束課程的時候,還有很多同學不太理解面向?qū)ο?..

    walterrwu 評論0 收藏0
  • javascript 面向對象版塊之理解對象

    摘要:用代碼可以這樣描述安全到達國外面向過程既然說了面向?qū)ο?,那么與之對應(yīng)的就是面向過程。小結(jié)在這篇文章中,介紹了什么是面向?qū)ο蠛兔嫦蜻^程,以及中對象的含義。 這是 javascript 面向?qū)ο蟀鎵K的第一篇文章,主要講解對面向?qū)ο笏枷氲囊粋€理解。先說說什么是對象,其實這個還真的不好說。我們可以把自己當成一個對象,或者過年的時候相親,找對象,那么你未來的老婆也是一個對象。我們就要一些屬性,比...

    lovXin 評論0 收藏0
  • 7. 初步理解面向對象 【連載 7】

    摘要:是一種典型的面向?qū)ο缶幊陶Z言。這篇文章主要是來初步理解一下面向?qū)ο蟮乃季S為下面的內(nèi)容先給一個基礎(chǔ)。針對面向?qū)ο缶幊痰母鄡?nèi)容,會在后面的文章里面詳細解釋。他們都稱之為對象。之后,我們再用編程語言,把這種映射編寫出來,就是的面向?qū)ο缶幊汤病? showImg(https://segmentfault.com/img/remote/1460000012983458?w=900&h=500);...

    keelii 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你對象”還好嗎?

    摘要:很多情況下,通常一個人類,即創(chuàng)建了一個具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    李昌杰 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你對象”還好嗎?

    摘要:很多情況下,通常一個人類,即創(chuàng)建了一個具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    Lyux 評論0 收藏0

發(fā)表評論

0條評論

xiyang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<