亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

對(duì)javascript的理解

時(shí)間:2024-08-08 18:05:09 JavaScript 我要投稿

對(duì)javascript的理解

  對(duì)象模型

  紅色虛線表示隱式Prototype鏈。

  這張對(duì)象模型圖中包含了太多東西,不少地方需要仔細(xì)體會(huì),可以寫些測(cè)試代碼進(jìn)行驗(yàn)證。徹底理解了這張圖,對(duì)JavaScript語(yǔ)言的了解也就差不多了。下面是一些補(bǔ)充說(shuō)明:

  1. 圖中有好幾個(gè)地方提到build-in Function constructor,這是同一個(gè)對(duì)象,可以測(cè)試驗(yàn)證:

  復(fù)制代碼 代碼如下:

  //Passed in FF2.0, IE7, Opera9.25, Safari3.0.4

  Function==Function.constructor //result: true

  Function==Function.prototype.constructor //result: true

  Function==Object.constructor //result: true

  //Function also equals to Number.constructor, String.constructor, Array.constructor, RegExp.constructor, etc.

  function fn(){}

  Function==fn.constructor //result: true

  這說(shuō)明了幾個(gè)問題: Function指向系統(tǒng)內(nèi)置的函數(shù)構(gòu)造器(build-in Function constructor);Function具有自舉性;系統(tǒng)中所有函數(shù)都是由Function構(gòu)造。

  2. 左下角的obj1, obj2...objn范指用類似這樣的代碼創(chuàng)建的對(duì)象: function fn1(){}; var obj1=new fn1();這些對(duì)象沒有本地constructor方法,但它們將從Prototype鏈上得到一個(gè)繼承的constructor方法,即fn.prototype.constructor,從函數(shù)對(duì)象的構(gòu)造過程可以知道,它就是fn本身了。

  3.右下角的obj1, obj2...objn范指用類似這樣的代碼創(chuàng)建的對(duì)象: var obj1=new Object();或var obj1={};或var obj1=new Number(123);或obj1=/w+/;等等。所以這些對(duì)象Prototype鏈的指向、從Prototype鏈繼承而來(lái)的 constructor的值(指它們的constructor是build-in Number constructor還是build-in Object constructor等)等依賴于具體的對(duì)象類型。另外注意的是,var obj=new Object(123);這樣創(chuàng)建的對(duì)象,它的類型仍然是Number,即同樣需要根據(jù)參數(shù)值的類型來(lái)確定。同樣它們也沒有本地constructor,而是從Prototype鏈上獲得繼承的constructor方法,即build-in *** constructor,具體是哪一個(gè)由數(shù)據(jù)類型確定。

  示例代碼

  復(fù)制代碼 代碼如下:

  //自定義對(duì)象代表,對(duì)應(yīng)Javascript Object Model中的use defined functions

  function Foo(){}

  //自定義對(duì)象創(chuàng)建的對(duì)象實(shí)例的代表,對(duì)應(yīng)Javascript Object Model中的objects that created by user defined functions

  var foo = new Foo();

  //String內(nèi)置函數(shù)代表

  //str為內(nèi)置函數(shù)創(chuàng)建的對(duì)象實(shí)例的代表,對(duì)應(yīng)Javascript Object Model中的objects that created by build-in constructors

  var str = new String("string");

  內(nèi)存展現(xiàn)

  你會(huì)發(fā)現(xiàn),它和《理解Javascript_09_Function與Object》中的內(nèi)存分析圖是一樣的,為什么呢?在《數(shù)據(jù)模型》中提到過,內(nèi)置對(duì)象都可以看作是函數(shù)的派生類型,例如Number instanceof Function為true,Number instanceof Object為true。在這個(gè)意義上,可以將它們跟用戶定義的函數(shù)等同看待。所以內(nèi)置對(duì)象和自定義對(duì)象的創(chuàng)建流程是一樣的。

  在理解了《Function與Object》的基礎(chǔ)上寫的,因此要理解本文必須理解Function與Object的關(guān)系!

【對(duì)javascript的理解】相關(guān)文章:

理解JavaScript原型鏈教程03-30

javascript的閉包概念怎么理解03-29

javascript面向?qū)ο笾械膶?duì)象怎么理解03-30

淺談javascript中的單線程理解03-30

有關(guān)深入理解JavaScript中的并行處理的介紹03-30

JavaScript的課堂講解03-31

JavaScript 基礎(chǔ)教學(xué)04-01

JavaScript學(xué)習(xí)筆記03-30

常用的JavaScript模式03-10

主站蜘蛛池模板: 91亚瑟视频| 中文字字幕国产精品| 精品人妻系列无码专区久久| 色欲久久久天天天综合网| 大帝av在线一区二区三区| 欧美日韩亚洲国内综合网38c38| 高清无码午夜福利视频| 亚洲国产日韩在线人高清| 中文字幕色av一区二区三区| 加勒比一区二区无码视频在线| 亚洲另类激情专区小说| av无码av在线a∨天堂毛片| 精品乱码久久久久久中文字幕| 亚洲自偷自拍另类第1页| 日韩国精品一区二区a片| 永久免费不卡在线观看黄网站| 一区二区 在线 | 中国| 久久综合给合久久狠狠97色| 亚洲欧洲偷自拍图片区| 精品无码国产自产野外拍在线| 亚洲日韩成人无码| 人妻熟女一区二区aⅴ| 69精品丰满人妻无码视频a片| 亚洲成αv人片在线观看| 息烽县| 林口县| 三上悠亚精品二区在线观看| 天天碰免费上传视频| 岛国av无码免费无禁网站麦芽| 国产女人高潮毛片| 国产激情з∠视频一区二区| 免费久久99精品国产自在现| 亚洲成人网在线观看| 国产成人亚洲综合图区| 一本一道av无码中文字幕麻豆| 亚洲日韩看片成人无码| 无码精品a∨动漫在线观看| 思思re热免费精品视频66 | 精品无码美妇视频网站 | 制服丝袜中文字幕在线| 99亚洲男女激情在线观看|