摘要:解讀中的方法的第一個參數(shù)是待創(chuàng)建對象的原型對象,第二個參數(shù)是待創(chuàng)建對象的屬性定義。
Object解讀
Object中的create方法的第一個參數(shù)是待創(chuàng)建對象的原型對象,第二個參數(shù)是待創(chuàng)建對象的屬性定義。 **屬性定義解讀如下:** 其中第二個參數(shù)是可選的,如果被指定了且不是undefined類型, 一個對象的可枚舉的自身的屬性(并非原型鏈上的可枚舉屬性) 指定的屬性描述符將會被添加到新創(chuàng)建的對象,和指定的屬性名稱一樣, 這個參數(shù)的形式和使用Object.defineProperties()方法的的第二個參數(shù)是一致的。 返回值: 一個以第一個參數(shù)為原型對象且含有第二個參數(shù)指定的屬性的新創(chuàng)建的對象 異常:當(dāng)?shù)诙€參數(shù)不是空或者或者是一個普通對象;
示例
//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);//使用對象冒充實現(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的使用范例:
//原型對象 var proto = { init:function(){ console.info("init method..."); }, service:function(){ console.info("service method"); }, destroy:function(){ console.info("destroy method.."); } } //目標(biāo)對象 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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/82433.html
摘要:對象的分類內(nèi)置對象原生對象就是語言預(yù)定義的對象,在標(biāo)準(zhǔn)定義,有解釋器引擎提供具體實現(xiàn)宿主對象指的是運行環(huán)境提供的對象。不過類型是中所有類型的父級所有類型的對象都可以使用的屬性和方法,可以通過的構(gòu)造函數(shù)來創(chuàng)建自定義對象。 對象 javaScript中的對象,和其它編程語言中的對象一樣,可以比照現(xiàn)實生活中的對象來理解。在JavaScript中,一個對象可以是一個單獨擁有屬性和類型的實體。和...
摘要:檢測數(shù)據(jù)類型中可以使用操作符來判斷數(shù)據(jù)類型。調(diào)用函數(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...
摘要:張無忌對象的屬性存在對象的屬性不存在使用進(jìn)行判斷。張無忌對象的屬性存在請先定義對象的屬性使用語句進(jìn)行判斷張無忌對象的屬性存在刪除對象的屬性可以用操作符刪除一個不是繼承而來的屬性。 對象 對象的概述 對象是什么 JavaScript中的對象,和其他編程語言中的對象一樣??梢詫Ρ痊F(xiàn)實生活中的一些東西來理解他。在JavaScript中,一個對象可以使一個單純的擁有屬性和類型的實體。假如和一個...
摘要:對象對象是什么中的對象和其他編程語言中的對象一樣可以比照現(xiàn)實上活中的對象來理解它中對象的概念可以比照現(xiàn)實生活中實實在在的物體來理解在中一個對象可以是一個單獨的擁有屬性和類型的實體拿它和一個杯子做下類比一個杯子是一個對象擁有屬性杯子有顏色圖案 對象 對象是什么 JavaScript中的對象 和其他編程語言中的對象一樣 可以比照現(xiàn)實上活中的對象來理解它JavaScript中對象的概念可以比...
摘要:對象對象的概念所謂對象就是是一個擁有屬性和方法的集合體對象的分類內(nèi)置對象原生對象引用類型可以稱作為內(nèi)置對象宿主對象就是寄生在一個東西上的對象比如瀏覽器提供的對象比如自定義對象開發(fā)人員創(chuàng)建的對象對象是什么類型是所有類型的父級創(chuàng)建對象對象的初始 對象 對象的概念 所謂對象就是是一個擁有屬性和方法的集合體 對象的分類 內(nèi)置對象/原生對象: 引用類型可以稱作為內(nèi)置對象 宿主對象: 就...
閱讀 836·2025-02-07 13:29
閱讀 644·2024-11-07 18:25
閱讀 131094·2024-02-01 10:43
閱讀 1060·2024-01-31 14:58
閱讀 1022·2024-01-31 14:54
閱讀 83215·2024-01-29 17:11
閱讀 3497·2024-01-25 14:55
閱讀 2217·2023-06-02 13:36