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

資訊專欄INFORMATION COLUMN

javascript對(duì)象原型成員詳解

zhkai / 2574人閱讀

摘要:和的作用一樣,區(qū)別在于寫法語(yǔ)法對(duì)象對(duì)象作用判斷對(duì)象是否在對(duì)象的原型鏈上語(yǔ)法對(duì)象構(gòu)造函數(shù)作用判斷構(gòu)造函數(shù)的屬性是否在對(duì)象的原型鏈上,如果在,就返回屬性是否可枚舉用于檢查給定的屬性是否能夠使用語(yǔ)句。

                 ## javascript對(duì)象原型成員詳解 ##

ECMAScript 中的對(duì)象就是一組數(shù)據(jù)和功能的集合,對(duì)象可以通過(guò) new 操作符后跟要?jiǎng)?chuàng)建的對(duì)象名稱來(lái)創(chuàng)建。
var obj =  new Object( );   //在不傳參數(shù)的情況下省略號(hào)可以不寫但不推薦
由 Object 類型為基礎(chǔ)創(chuàng)建出的 obj 實(shí)例對(duì)象,可以使用 Object類型上所具有的任何屬性和方法。
Object 的每個(gè)創(chuàng)建出來(lái)的實(shí)例都有以下的屬性和方法,這些屬性和方法存在于它的原型對(duì)象中(Object.prototype)

Constructor: 構(gòu)造函數(shù),保存著用于創(chuàng)建當(dāng)前對(duì)象的函數(shù),此時(shí)的構(gòu)造函數(shù)為 Object()

hasOwnProperty(propertyName):有自己的屬性,用于檢查給定的屬性是否在當(dāng)前的對(duì)象的實(shí)例中存在 (而不是在實(shí)例的原型中,和 in 運(yùn)算符有差別)。

語(yǔ)法: 對(duì)象.hasOwnProperty("屬性");

作用: 判斷該屬性是否是對(duì)象自身的,如果是則返回 true,不然就返回 false

in 運(yùn)算符:判斷屬性能否被對(duì)象訪問(wèn)到,不管屬性是對(duì)象自身的,還是在原型鏈上的,只要能夠訪問(wèn)到,就返回 true,如果不能就返回 false。

3.isPrototypeOf(object): 是否是原型歸屬,用于檢查傳入的對(duì)象是否是傳入對(duì)象的原型。(和 instanceof的作用一樣,區(qū)別在于寫法)

語(yǔ)法: 對(duì)象A.isPrototypeOf(對(duì)象B);

作用: 判斷對(duì)象A是否在對(duì)象B的原型鏈上

instanceof:

語(yǔ)法: 對(duì)象 instanceof 構(gòu)造函數(shù)

作用: 判斷構(gòu)造函數(shù)的 prototype 屬性是否在對(duì)象的原型鏈上,如果在,就返回 true

4.propertyIsEnumerable(propertyName):屬性是否可枚舉:用于檢查給定的屬性是否能夠使用 for-in 語(yǔ)句。

語(yǔ)法: 對(duì)象.propertyISEnumerable("屬性");

作用: 判斷屬性是否可以遍歷(只有屬性是對(duì)象自身的并且屬性可以遍歷的時(shí)候才返回 true)

手動(dòng)給對(duì)象的實(shí)例對(duì)象或者原型對(duì)象添加的屬性默認(rèn)都是可以遍歷的,但是它原型對(duì)象上自帶的成員默認(rèn)是不可以遍歷的。

那如何給對(duì)象添加一個(gè)不可遍歷的屬性呢?

這里可以使用 Object.defineProperty();

語(yǔ)法:Object.defineProperty(obj, prop, desc);

參數(shù)說(shuō)明:

obj:指定的對(duì)象

prop: 所要添加的屬性(字符串)    

desc:屬性描述符,是個(gè)對(duì)象

舉例說(shuō)明一下:

Object.defineProperty(obj, "gender",{
    value: "female",        //value 給這個(gè)對(duì)象的該屬性設(shè)置默認(rèn)值
    enumerable: true,     //enumerable 設(shè)置屬性是否可以遍歷,true為可遍歷
    writable: false        //writable 設(shè)置屬性是否可以修改,true為可修改
})

5.tolocaleStrin: 返回對(duì)象的字符串表示,該字符串和執(zhí)行環(huán)境的地區(qū)對(duì)應(yīng)

6.toString:返回對(duì)象的字符串表示

7.valueOf:返回對(duì)象的字符串,數(shù)字或者布爾值表示,通常與toString()方法的返回值相同

額外提到的一點(diǎn)是 對(duì)象咋進(jìn)行運(yùn)算或者比較的時(shí)候,js內(nèi)部會(huì)自動(dòng)調(diào)用 valueOf && toString 這兩個(gè)方法

調(diào)用規(guī)則:

 - 首先調(diào)用 valueOf 方法,嘗試將對(duì)象轉(zhuǎn)成簡(jiǎn)單數(shù)據(jù)類型,如果沒(méi)有轉(zhuǎn)成簡(jiǎn)單數(shù)據(jù)類型,則繼續(xù)調(diào)用 toString
   方法,將對(duì)象轉(zhuǎn)成字符串
 - 如果對(duì)象分別調(diào)用 valueOf  的方法和 toString 的方法,都沒(méi)有轉(zhuǎn)成簡(jiǎn)單數(shù)據(jù)類型,就會(huì)報(bào)錯(cuò) 
   
注意的是在 ECMAScript 中 Object是所有對(duì)象的而基礎(chǔ),因此所有的對(duì)象都具有這些基本屬性和方法。
參考文獻(xiàn)

javascript高級(jí)程序設(shè)計(jì)

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

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

相關(guān)文章

  • javascript對(duì)象詳解:__proto__和prototype的區(qū)別和聯(lián)系

    摘要:當(dāng)這步完成,這個(gè)對(duì)象就與構(gòu)造函數(shù)再無(wú)聯(lián)系,這個(gè)時(shí)候即使構(gòu)造函數(shù)再加任何成員,都不再影響已經(jīng)實(shí)例化的對(duì)象了。此時(shí),對(duì)象具有了和屬性,同時(shí)具有了構(gòu)造函數(shù)的原型對(duì)象的所有成員,當(dāng)然,此時(shí)該原型對(duì)象是沒(méi)有成員的。 前言 本篇文章用來(lái)記錄下最近研究對(duì)象的一些心得,做一個(gè)記錄與總結(jié),以加深自己的印象,同時(shí),希望也能給正在學(xué)習(xí)中的你一點(diǎn)啟發(fā)。本文適合有一定JavaScript基礎(chǔ)的童鞋閱讀。原文戳這...

    chavesgu 評(píng)論0 收藏0
  • JavaScript學(xué)習(xí)總結(jié)(五)原型原型詳解

    摘要:原型對(duì)象內(nèi)部也有一個(gè)指針屬性指向構(gòu)造函數(shù)實(shí)例可以訪問(wèn)原型對(duì)象上定義的屬性和方法。在創(chuàng)建子類型的實(shí)例時(shí),不能向超類型的構(gòu)造函數(shù)中傳遞參數(shù)。 贊助我以寫出更好的文章,give me a cup of coffee? 2017最新最全前端面試題 私有變量和函數(shù) 在函數(shù)內(nèi)部定義的變量和函數(shù),如果不對(duì)外提供接口,外部是無(wú)法訪問(wèn)到的,也就是該函數(shù)的私有的變量和函數(shù)。 function ...

    EscapedDog 評(píng)論0 收藏0
  • js原型和繼承

    摘要:舉例說(shuō)明組合繼承組合繼承利用原型鏈借用構(gòu)造函數(shù)的模式解決了原型鏈繼承和類式繼承的問(wèn)題。示例組合式繼承是比較常用的一種繼承方法,其背后的思路是使用原型鏈實(shí)現(xiàn)對(duì)原型屬性和方法的繼承,而通過(guò)借用構(gòu)造函數(shù)來(lái)實(shí)現(xiàn)對(duì)實(shí)例屬性的繼承。 對(duì)js原型和繼承的理解一直處于不懂-懂-不懂-懂-不懂。。。的無(wú)限循環(huán)之中,本來(lái)打算只是簡(jiǎn)單總結(jié)下js繼承方式,可看了些網(wǎng)上的資料后,發(fā)現(xiàn)又不懂繼承了。。。這篇文章只...

    Hujiawei 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對(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); 馬上就要到七夕了,離年底老媽老爸...

    李昌杰 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對(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); 馬上就要到七夕了,離年底老媽老爸...

    Lyux 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<