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

JavaScript 原型繼承

 更新時間:2011年12月26日 23:09:09   作者:  
JavaScript 原型繼承,學習js面向對象的朋友可以看看。
Object.prototype
JavaScript是基于原型繼承的,任何對象都有一個prototype屬性。Object.prototype是所有對象的根,并且不可改變。
復制代碼 代碼如下:

Object.prototype=null;
alert(Object.prototype);//[object Object]

Object與Object.prototype
Object繼承于Object.prototype,增加一個屬性給Object.prototype上,同時也會反應到Object上。如:
復制代碼 代碼如下:

Object.prototype.nameStr="Object Prototype";
Object.prototype.getName=function(){return this.nameStr};
alert(Object.getName());//Object Prototype

Function.prototype與Object.prototype
由于Object.prototype是萬物之根,所以Function.prototype也同時會繼承Object.prototype的所有屬性。如:
復制代碼 代碼如下:

Object.prototype.nameStr="Object Prototype";
Object.prototype.getName=function(){return this.nameStr};
alert(Function.prototype.getName());//Object Prototype


Object/Function/String/Number/Boolean/Array與Date
Object/Function/String/Number/Boolean/Array與Date都是函數(shù),函數(shù)又繼承于Function.prototype, 所以更改Function.prototype一樣會影響到Object/Function/String/Number/Boolean/Array與Date。如:
復制代碼 代碼如下:

Function.prototype.initType='Function Type';
Function.prototype.getType=function(){return this.initType};
//alert(Object.getType());//Function Type
//alert(Date.getType());//Function Type
//alert(Number.getType());//Function Type
//alert(String.getType());//Function Type
//alert(Boolean.getType());//Function Type
alert(Array.getType());//Function Type

同樣Function.prototype也會把所受Object.prototype的影響,傳遞給它的下一層級。如:
復制代碼 代碼如下:

Object.prototype.nameStr="Object Prototype";
Object.prototype.getName=function(){return this.nameStr};
alert(Function.prototype.getName());//Object Prototype
alert(Array.getName());//Object Prototype

復制代碼 代碼如下:

alert(Boolean.prototype.getName());//Object Prototype

Array/Array.prototype與Function.prototype/Object.prototype

Array是函數(shù)對象,受Function.prototype的影響,而Array.prototype不是函數(shù)對象,所不受Function.prototype的影響,但所有對象受Object.prototype的影響,所以Array.prototype也會受Object.prototype的影響。如:
復制代碼 代碼如下:

Object.prototype.nameStr="Object Prototype";
Object.prototype.getName=function(){return this.nameStr};
//alert(Function.prototype.getName());//Object Prototype
//alert(Boolean.prototype.getName());//Object Prototype
Function.prototype.initFun=function(){
return 'Function.prototype.initFun';
}
alert(Array.initFun());//Function.prototype.initFun
var arr=['a','b'];
alert(arr.getName());//Object Prototype
alert(arr.initFun());//Error: arr.initFun is not a function
alert(arr.initFun);//undefined

相關文章

最新評論

新闻| 都江堰市| 浏阳市| 明水县| 湖南省| 盐源县| 泾源县| 沙河市| 唐山市| 游戏| 深泽县| 延长县| 黑水县| 衡阳县| 如东县| 祁门县| 芜湖县| 广宁县| 兰西县| 德钦县| 莱西市| 梅河口市| 阿尔山市| 温宿县| 福清市| 乌兰察布市| 平谷区| 浪卡子县| 辉县市| 苏尼特左旗| 双江| 金湖县| 荔波县| 库伦旗| 漳州市| 溆浦县| 江孜县| 内丘县| 集安市| 广东省| 黔西县|