摘要:解讀中的方法的第一個(gè)參數(shù)是待創(chuàng)建對(duì)象的原型對(duì)象,第二個(gè)參數(shù)是待創(chuàng)建對(duì)象的屬性定義。
Object解讀
Object中的create方法的第一個(gè)參數(shù)是待創(chuàng)建對(duì)象的原型對(duì)象,第二個(gè)參數(shù)是待創(chuàng)建對(duì)象的屬性定義。 **屬性定義解讀如下:** 其中第二個(gè)參數(shù)是可選的,如果被指定了且不是undefined類型, 一個(gè)對(duì)象的可枚舉的自身的屬性(并非原型鏈上的可枚舉屬性) 指定的屬性描述符將會(huì)被添加到新創(chuàng)建的對(duì)象,和指定的屬性名稱一樣, 這個(gè)參數(shù)的形式和使用Object.defineProperties()方法的的第二個(gè)參數(shù)是一致的。 返回值: 一個(gè)以第一個(gè)參數(shù)為原型對(duì)象且含有第二個(gè)參數(shù)指定的屬性的新創(chuàng)建的對(duì)象 異常:當(dāng)?shù)诙€(gè)參數(shù)不是空或者或者是一個(gè)普通對(duì)象;
示例
//shape -super class function Shape(){ this.x=0; this.y=0; }; //super class method Shape.prototype.move=function(x,y){ this.x+=x; this.y+=y; console.info("shape moved...."); }; //Rectangle -sub class function Rectangle(){ Shape.call(this);//使用對(duì)象冒充實(shí)現(xiàn)繼承 }; //sub class extends super class Rectangle.prototype = Object.create(Shape.prototype); Rectangle.prototype.constructor = Rectangle; var rect = new Rectangle(); console.log("Is rect an instance of Rectangle?",rect instanceof Rectangle); //will output true console.log("Is rect an instance of Shape?",rect instanceof Shape);// will output true rect.move(1,1);// will output "shape moved...."
Object.create的使用范例:
//原型對(duì)象 var proto = { init:function(){ console.info("init method..."); }, service:function(){ console.info("service method"); }, destroy:function(){ console.info("destroy method.."); } } //目標(biāo)對(duì)象 var target = Object.create(proto,{ k_init:{ value:function(){ console.info("k_init method..."); } }, k_service:{ value:function(){ console.info("k_service method..."); } }, k_destroy:{ value:function(){ console.info("k_destroy method..."); } } });
console.info(target)--->輸入如下:
console.info(Object.getPrototypeOf(target))--->輸出如下:
未完待續(xù)...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/82433.html
摘要:對(duì)象的分類內(nèi)置對(duì)象原生對(duì)象就是語言預(yù)定義的對(duì)象,在標(biāo)準(zhǔn)定義,有解釋器引擎提供具體實(shí)現(xiàn)宿主對(duì)象指的是運(yùn)行環(huán)境提供的對(duì)象。不過類型是中所有類型的父級(jí)所有類型的對(duì)象都可以使用的屬性和方法,可以通過的構(gòu)造函數(shù)來創(chuàng)建自定義對(duì)象。 對(duì)象 javaScript中的對(duì)象,和其它編程語言中的對(duì)象一樣,可以比照現(xiàn)實(shí)生活中的對(duì)象來理解。在JavaScript中,一個(gè)對(duì)象可以是一個(gè)單獨(dú)擁有屬性和類型的實(shí)體。和...
摘要:檢測(cè)數(shù)據(jù)類型中可以使用操作符來判斷數(shù)據(jù)類型。調(diào)用函數(shù)時(shí),某個(gè)參數(shù)未設(shè)置任何值,這時(shí)就可以傳入,表示該參數(shù)為空。我們約定普通函數(shù)以小寫字母開頭,構(gòu)造函數(shù)以大寫字母開頭。五原型以及原型鏈未完待續(xù) 一、數(shù)據(jù)類型 在javascript中的數(shù)據(jù)類型可以分為兩種類型,基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。其中基本數(shù)據(jù)類型包括String, Number, Boolean,null,undefined,Sy...
摘要:張無忌對(duì)象的屬性存在對(duì)象的屬性不存在使用進(jìn)行判斷。張無忌對(duì)象的屬性存在請(qǐng)先定義對(duì)象的屬性使用語句進(jìn)行判斷張無忌對(duì)象的屬性存在刪除對(duì)象的屬性可以用操作符刪除一個(gè)不是繼承而來的屬性。 對(duì)象 對(duì)象的概述 對(duì)象是什么 JavaScript中的對(duì)象,和其他編程語言中的對(duì)象一樣??梢詫?duì)比現(xiàn)實(shí)生活中的一些東西來理解他。在JavaScript中,一個(gè)對(duì)象可以使一個(gè)單純的擁有屬性和類型的實(shí)體。假如和一個(gè)...
摘要:對(duì)象對(duì)象是什么中的對(duì)象和其他編程語言中的對(duì)象一樣可以比照現(xiàn)實(shí)上活中的對(duì)象來理解它中對(duì)象的概念可以比照現(xiàn)實(shí)生活中實(shí)實(shí)在在的物體來理解在中一個(gè)對(duì)象可以是一個(gè)單獨(dú)的擁有屬性和類型的實(shí)體拿它和一個(gè)杯子做下類比一個(gè)杯子是一個(gè)對(duì)象擁有屬性杯子有顏色圖案 對(duì)象 對(duì)象是什么 JavaScript中的對(duì)象 和其他編程語言中的對(duì)象一樣 可以比照現(xiàn)實(shí)上活中的對(duì)象來理解它JavaScript中對(duì)象的概念可以比...
摘要:對(duì)象對(duì)象的概念所謂對(duì)象就是是一個(gè)擁有屬性和方法的集合體對(duì)象的分類內(nèi)置對(duì)象原生對(duì)象引用類型可以稱作為內(nèi)置對(duì)象宿主對(duì)象就是寄生在一個(gè)東西上的對(duì)象比如瀏覽器提供的對(duì)象比如自定義對(duì)象開發(fā)人員創(chuàng)建的對(duì)象對(duì)象是什么類型是所有類型的父級(jí)創(chuàng)建對(duì)象對(duì)象的初始 對(duì)象 對(duì)象的概念 所謂對(duì)象就是是一個(gè)擁有屬性和方法的集合體 對(duì)象的分類 內(nèi)置對(duì)象/原生對(duì)象: 引用類型可以稱作為內(nèi)置對(duì)象 宿主對(duì)象: 就...
閱讀 1579·2025-02-07 13:29
閱讀 1003·2024-11-07 18:25
閱讀 131497·2024-02-01 10:43
閱讀 1347·2024-01-31 14:58
閱讀 1144·2024-01-31 14:54
閱讀 83572·2024-01-29 17:11
閱讀 3870·2024-01-25 14:55
閱讀 2390·2023-06-02 13:36