原型和原型鏈

JS里的內(nèi)置對(duì)象

全局對(duì)象

ECMAScript 規(guī)定全局對(duì)象叫做 global妙啃,瀏覽器默認(rèn)全局對(duì)象是window
ECMAScript規(guī)定的函數(shù),在任何地方可以使用的函數(shù)

global.parseInt
global.parseFloat
global.Number
global.String
global.Boolean
global.Object

瀏覽器私有的函數(shù)

window.alert
window.prompt
window.comfirm
window.console.log
window.console.dir
window.document
window.document.createElement
window.document.getElementById

簡單類型與對(duì)象

var n1 = 1  //n1是簡單的數(shù)據(jù)類型钩述,值是1
n1.toString()  //'1'
var n2 = new Number(1)  //n2是對(duì)象杯瞻,valueOf值是1

簡單類型是沒有屬性的又官,那是如何調(diào)用toString()方法的呢熄驼?簡單的類型是怎么用對(duì)象的方法的珠十?以n1.toString為例
生成一個(gè)臨時(shí)對(duì)象冕象,臨時(shí)對(duì)象里再調(diào)用toString(),具體步驟如下:
1龟梦、n1.toString()隐锭,
2、生成一個(gè)臨時(shí)對(duì)象temp计贰,temp = new Number(n1)
3钦睡、temp對(duì)象調(diào)用toString(),temp.toString()

簡單類型加上一個(gè)屬性并賦值躁倒,是否可以取到該屬性的值荞怒?

var n1 = 1
n1.*** = 2  //臨時(shí)對(duì)象被回收
n1.*** = ?  //undefined

所以JS中簡單類型也可以看作是一個(gè)對(duì)象

當(dāng)一個(gè)變量使用一個(gè)屬性或方法時(shí),JS會(huì)判斷此變量是否是對(duì)象秧秉,若不是對(duì)象褐桌,則包裝成一個(gè)對(duì)象。

原型

object的共有屬性 Object.protype象迎,這就是原型荧嵌,Object的共有屬性是所有對(duì)象的共有屬性
prototype屬性,這個(gè)屬性包含一個(gè)對(duì)象__proto__砾淌,用來存共有屬性

var o1 = {}
o1.__proto__ === Object.prototype    //true

原型鏈

JS在創(chuàng)建對(duì)象(不論是普通對(duì)象還是函數(shù)對(duì)象)的時(shí)候啦撮,都有一個(gè)叫做__proto__的內(nèi)置屬性,用于指向創(chuàng)建它的函數(shù)對(duì)象的原型對(duì)象prototype拇舀。

var 對(duì)象 = new 函數(shù)()
對(duì)象.__proto__ === 函數(shù).prototype

__proto__  //對(duì)象的屬性
prototype  //函數(shù)的屬性

函數(shù).prototype 也是一個(gè)對(duì)象
函數(shù).prototype.__proto__ === Object.prototype

如下例

var n = new Number(2);
n.__proto__  //存Number的共有屬性
n.__proto__ === Number.prototype  //true
n.__proto__.__proto__  //存對(duì)象的共有屬性
n.__proto__.__proto__ === Object.prototype  //true

Number.prototype是Number共有屬性的引用
n.__proto__是Number的共有屬性的引用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逻族,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子骄崩,更是在濱河造成了極大的恐慌,老刑警劉巖薄辅,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件要拂,死亡現(xiàn)場離奇詭異,居然都是意外死亡站楚,警方通過查閱死者的電腦和手機(jī)脱惰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來窿春,“玉大人拉一,你說我怎么就攤上這事【善颍” “怎么了蔚润?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長尺栖。 經(jīng)常有香客問我嫡纠,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任除盏,我火速辦了婚禮叉橱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘者蠕。我一直安慰自己窃祝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布踱侣。 她就那樣靜靜地躺著粪小,像睡著了一般。 火紅的嫁衣襯著肌膚如雪泻仙。 梳的紋絲不亂的頭發(fā)上糕再,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音玉转,去河邊找鬼突想。 笑死,一個(gè)胖子當(dāng)著我的面吹牛究抓,可吹牛的內(nèi)容都是我干的猾担。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼刺下,長吁一口氣:“原來是場噩夢啊……” “哼绑嘹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起橘茉,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤工腋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后畅卓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體擅腰,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年翁潘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了趁冈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拜马,死狀恐怖渗勘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情俩莽,我是刑警寧澤旺坠,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站豹绪,受9級(jí)特大地震影響价淌,放射性物質(zhì)發(fā)生泄漏申眼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一蝉衣、第九天 我趴在偏房一處隱蔽的房頂上張望括尸。 院中可真熱鬧,春花似錦病毡、人聲如沸濒翻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽有送。三九已至,卻和暖如春僧家,著一層夾襖步出監(jiān)牢的瞬間雀摘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工八拱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阵赠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓肌稻,卻偏偏與公主長得像清蚀,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子爹谭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 為什么要理解原型和原型鏈枷邪,因?yàn)橛欣谖覀兝斫夂蛯?shí)現(xiàn) JS對(duì)象繼承。 __proto__ __proto__是什么W...
    微風(fēng)玉米閱讀 536評(píng)論 0 2
  • 學(xué)習(xí)使用過js的人一開始都會(huì)覺得js簡單诺凡,這是因?yàn)閖s語法簡單东揣,學(xué)習(xí)過編程語言的人,很容易掌握js的基本語法并按要...
    易則知閱讀 1,308評(píng)論 0 11
  • 前言 此文章為加深對(duì)JS中重要概念進(jìn)行理解腹泌,不建議沒有任何JS基礎(chǔ)的人看救斑,只為加深對(duì)概念理解通過實(shí)際的例子,而不是...
    cduyzh閱讀 880評(píng)論 1 3
  • 聲明:此文為轉(zhuǎn)載文章真屯,為了自己看起來方便特此重新排版,等日后看懂了再自己整理疏解穷娱,查看原文請點(diǎn)擊這里绑蔫。 正文: J...
    辭鏡朱顏閱讀 542評(píng)論 0 1
  • JavaScript在ES6之前沒有類似class,extend的繼承機(jī)制泵额,JavaScript的繼承主要是通過原...
    肆意咯咯咯閱讀 408評(píng)論 0 2