JS之原型與原型鏈

全局對(duì)象 window

ECMAScript 規(guī)定全局對(duì)象叫做 global荚斯,但是瀏覽器把 window 作為全局對(duì)象(瀏覽器先存在的)茧泪。

window 就是一個(gè)哈希表涯保,有很多屬性丽惶。

window 的屬性就是全局變量恒序。

這些全局變量分為兩種:

1. ECMAScript 規(guī)定的

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

2. 瀏覽器自己加的屬性(私有屬性)

  • window.alert(彈窗提示)
  • window.prompt(用戶填寫)
  • window.comfirm(用戶確認(rèn))
  • window.console.log
  • window.console.dir
  • window.document
  • window.document.createElement
  • window.document.getElementById
  • history

所有 API 都可以在 MDN 里找到詳細(xì)的資料。

全局函數(shù)

Number

var n2 = new Number(1) 創(chuàng)建一個(gè) Number 對(duì)象;
var n1=1
n1不是對(duì)象,基本類型沒有屬性顾稀,沒有toString等屬性;
進(jìn)行臨時(shí)轉(zhuǎn)換:
temp = new Number(n1)
temp.toString()
temp是n1的一個(gè)復(fù)雜類型的封裝坝撑,
temp.toString的值當(dāng)作n1.toString的值静秆;
最后干掉temp;


問題:
var n = 1
n.xxx = 2
n.xxx ?
undefined
第二行:只要一句結(jié)束,臨時(shí)對(duì)象就會(huì)被清除巡李;


String

var s2 = new String('hello') ,創(chuàng)建一個(gè) String 對(duì)象;
var s='hello'

Boolean

var b2 = new Boolean(true) 創(chuàng)建一個(gè) Boolean 對(duì)象;
var b = true


問題:
var f = false
var f2 = new Boolean(false)
if(f){console.log(1)}
if(f2){console.log(2)}
?
2
f2是一個(gè)對(duì)象抚笔,所有對(duì)象都是真值。


Object

var o1 = {}
var o2 = new Object()
o1 和 o2 沒區(qū)別侨拦;
o1 === o2
false
不相等殊橙。

公用屬性

所有對(duì)象都有 toString 和 valueOf 屬性,我們不需要給每個(gè)對(duì)象一個(gè) toString 和 valueOf 。
JS 的做法是把 toString 和 valueOf 放在一個(gè)對(duì)象里(暫且叫做公用屬性組成的對(duì)象)蛀柴;
然后讓每一個(gè)對(duì)象的 proto 存儲(chǔ)這個(gè)「公用屬性組成的對(duì)象」的地址螃概。

重要公式
注意大小寫,number 和 Number 是不同的

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

對(duì)象.proto === 對(duì)象的構(gòu)造函數(shù).prototype

proto 與 prototype 的區(qū)別:

__proto__是對(duì)象的屬性鸽疾,
prototype是函數(shù)的屬性;
推論:

  • var number = new Number()
    number.proto = Number.prototype
  • var object = new Object()
    object.proto = Object.prototype
  • var function = new Function()
    function.proto = Function.prototype

所有函數(shù)都是由 Function 構(gòu)造出來的吊洼,所以:

Number.proto = Function.prototype
// 因?yàn)?Number 是函數(shù),是 Function 的實(shí)例;

Object.proto = Function.prototype
// 因?yàn)?Object 是函數(shù)制肮,是 Function 的實(shí)例;

Function.proto == Function.prototye
// 因?yàn)?Function 是函數(shù)冒窍,是 Function 的實(shí)例。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末豺鼻,一起剝皮案震驚了整個(gè)濱河市综液,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌儒飒,老刑警劉巖谬莹,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異桩了,居然都是意外死亡附帽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門井誉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蕉扮,“玉大人,你說我怎么就攤上這事颗圣≡樱” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵在岂,是天一觀的道長(zhǎng)奔则。 經(jīng)常有香客問我,道長(zhǎng)蔽午,這世上最難降的妖魔是什么易茬? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮祠丝,結(jié)果婚禮上疾呻,老公的妹妹穿的比我還像新娘除嘹。我一直安慰自己写半,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布尉咕。 她就那樣靜靜地躺著叠蝇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪年缎。 梳的紋絲不亂的頭發(fā)上悔捶,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天铃慷,我揣著相機(jī)與錄音,去河邊找鬼蜕该。 笑死犁柜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的堂淡。 我是一名探鬼主播馋缅,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼绢淀!你這毒婦竟也來了萤悴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤皆的,失蹤者是張志新(化名)和其女友劉穎覆履,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體费薄,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡硝全,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了义锥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柳沙。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拌倍,靈堂內(nèi)的尸體忽然破棺而出赂鲤,到底是詐尸還是另有隱情,我是刑警寧澤柱恤,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布数初,位于F島的核電站,受9級(jí)特大地震影響梗顺,放射性物質(zhì)發(fā)生泄漏泡孩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一寺谤、第九天 我趴在偏房一處隱蔽的房頂上張望仑鸥。 院中可真熱鬧,春花似錦变屁、人聲如沸眼俊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)疮胖。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間澎灸,已是汗流浹背院塞。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留性昭,地道東北人拦止。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像糜颠,于是被迫代替她去往敵國(guó)和親创泄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

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