最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

理解JavaScript的prototype屬性

 更新時(shí)間:2012年02月11日 23:30:16   作者:  
JavaScript可以說是最讓人初學(xué)者難以理解的單一屬性。我看了一些資料后,開始明白其實(shí)這些困難很大程度來自prototype這個(gè)名字本身的二義性
其實(shí),關(guān)于prototype只要幾句話就可以總結(jié):
任何原型都是對(duì)象,只有對(duì)象有原型
只有Function有prototype屬性,它是這個(gè)Function作為構(gòu)造器時(shí)生成對(duì)象所繼承的原型。Function的原型和它的prototype屬性無關(guān)
對(duì)象的原型可以通過非標(biāo)準(zhǔn)的屬性 __proto__ 或ECMAScript5的方法 Object.getPrototypeOf() 訪問。
1其實(shí)是錯(cuò)的,Object這個(gè)原型鏈盡頭的對(duì)象它沒有原型??墒菫榱烁唵伪硎觥T诳丛玩満竽憔蜁?huì)明白.toString()這類沒有定義過的方法是怎樣來的。
上面說的二義性,是文字理解上的,語法本身沒有歧義。prototype是原型的意思,可是一個(gè)對(duì)象的原型不是由prototype去訪問。
Function有prototype屬性,可是和自己的原型沒有關(guān)系。理解這點(diǎn)后,再去看關(guān)于原型鏈、繼承的文章就容易理解多了。

下面是些例子,可以加深認(rèn)識(shí):
復(fù)制代碼 代碼如下:

// 任何對(duì)象都有原型
obj = {};
console.log( obj.__proto__ );
console.log( Object.getPrototypeOf(obj) );
console.log( obj.__proto__ === Object.getPrototypeOf(obj) );

//對(duì)象并沒有語法意義的prototype屬性
alert(obj.prototype) //undefined

//prototype作為一個(gè)屬性,僅存在于Function中,代表以這個(gè)Function創(chuàng)建的新實(shí)例集成的原型,和Function本身的原型無關(guān)
var F = function(name){
this.name = name;
}
obj = {a:3,
get b (){
return this.a;
}
};
F.prototype = obj;
newObj = new F('new name');
newObj.name; //作為構(gòu)造器,name是newObj的自身屬性
newObj.a; //3
//它繼承了obj??梢酝ㄟ^這樣證實(shí):
Object.getPrototypeOf( newObj ) === obj; // true
newObj.__proto__ === obj; //true

相關(guān)文章

  • JS co 函數(shù)庫的含義和用法實(shí)例總結(jié)

    JS co 函數(shù)庫的含義和用法實(shí)例總結(jié)

    這篇文章主要介紹了JS co 函數(shù)庫的含義和用法,結(jié)合實(shí)例形式總結(jié)分析了JS co 函數(shù)庫的基本含義、功能、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • 使用 JavaScript 創(chuàng)建并下載文件(模擬點(diǎn)擊)

    使用 JavaScript 創(chuàng)建并下載文件(模擬點(diǎn)擊)

    本文將介紹如何使用 JavaScript 創(chuàng)建文件,并自動(dòng)/手動(dòng)將文件下載,這在導(dǎo)出原始數(shù)據(jù)時(shí)會(huì)比較方便
    2019-10-10
  • 使用變量動(dòng)態(tài)設(shè)置js的屬性名

    使用變量動(dòng)態(tài)設(shè)置js的屬性名

    js的屬性名可以使用變量,例如js對(duì)象object,當(dāng)賦給該對(duì)象屬性的時(shí)候可以采用以下方式,比較實(shí)用,需要的朋友可以看看
    2014-10-10
  • JavaScript去除字符串兩端空格的三種方法

    JavaScript去除字符串兩端空格的三種方法

    本文主要介紹了JavaScript去除字符串兩端空格的三種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • js腳本編寫簡單刷票投票系統(tǒng)

    js腳本編寫簡單刷票投票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了js腳本編寫簡單刷票投票系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 微信小程序收藏功能的實(shí)現(xiàn)代碼

    微信小程序收藏功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了微信小程序收藏功能的實(shí)現(xiàn)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 基于JavaScript實(shí)現(xiàn)一個(gè)簡單的Vue

    基于JavaScript實(shí)現(xiàn)一個(gè)簡單的Vue

    這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)一個(gè)簡單的Vue的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • 鍵盤上一張下一張兼容IE/google/firefox等瀏覽器

    鍵盤上一張下一張兼容IE/google/firefox等瀏覽器

    鍵盤上一張下一張的效果想必大家都有見到過吧,本文為大家介紹的這個(gè)兼容IE,google,firefox等主流瀏覽器
    2014-01-01
  • JS字符串截取出現(xiàn)的bug以及解決方式

    JS字符串截取出現(xiàn)的bug以及解決方式

    之前在獲取元素屬性時(shí),踩了個(gè)坑,記錄一下,下面這篇文章主要給大家介紹了關(guān)于JS字符串截取出現(xiàn)的bug以及解決方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 解決html input驗(yàn)證只能輸入數(shù)字,不能輸入其他的問題

    解決html input驗(yàn)證只能輸入數(shù)字,不能輸入其他的問題

    下面小編就為大家?guī)硪黄鉀Qhtml input驗(yàn)證只能輸入數(shù)字,不能輸入其他的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07

最新評(píng)論

珲春市| 九龙县| 惠水县| 舞阳县| 广东省| 浠水县| 车险| 延庆县| 牟定县| 惠水县| 灌南县| 崇信县| 萍乡市| 中卫市| 苗栗县| 视频| 多伦县| 诸城市| 大荔县| 海林市| 东辽县| 海兴县| 高阳县| 阳高县| 思南县| 九江市| 英吉沙县| 安国市| 岳普湖县| 青河县| 上高县| 福州市| 房产| 卓尼县| 黄大仙区| 瑞丽市| 乌拉特中旗| 嘉峪关市| 太保市| 阜南县| 桂阳县|