《原型與原型鏈》

全局對象

1: glabol:ECMAscript標(biāo)準(zhǔn);2:window:瀏覽器標(biāo)準(zhǔn)。

?ECMAScript 規(guī)定的:

global.parseInt

global.parseFloat

global.Number

global.String

global.Boolean

global.Object

瀏覽器自己加的屬性:

window.alert

window.prompt

window.comfirm

window.console.log

window.console.dir

window.document

window.document.createElement

window.document.getElementById


下面主要說ECMAscript規(guī)定的 全局對象,Number(),String(),Boolean(),Object();

全局函數(shù)

var n=new Number(),var s =new String(),var b = new Boolean(),var o = new Object(); 四個(gè)都是函數(shù),他們創(chuàng)建的時(shí)候都有一個(gè)叫做__proto__內(nèi)置屬性,可用來引用瀏覽器準(zhǔn)備的prototype屬性。并且他們 都有 共有的屬性 例如valueof toString,JS把他們放在公用屬性組成的對象。然后讓每一對象的__proto__存儲這個(gè)公用屬性組成的對象的地址。



臨時(shí)對象

? 上圖可以看到,創(chuàng)建變量a,a.xxx賦值,賦完值之后在打印結(jié)果卻是undefined,這個(gè)例子 主要說名 js中的妙計(jì),js之父方法,采用臨時(shí)對象方法(temp),臨時(shí)對象,賦完值后消失。

原型


上圖解釋:string.prototype是string的共有屬性引用,防止垃圾回收。s.__proto__是string的公用屬性的引用、


?js在創(chuàng)建對象的時(shí)候,都有一個(gè)叫做__proto__的內(nèi)置屬性,它可用來引用瀏覽器準(zhǔn)備的prototype,Object的共有屬性是所有屬性類型共有屬性。(Number,Boolean,String,Object)


重點(diǎn):對象.__proto__===函數(shù).prototype

重點(diǎn):對象.__proto__===函數(shù).prototype

區(qū)別 1 是對象屬性 2是函數(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)镹umber是函數(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)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容