JavaScript學習之物件原型及繼承

2021-09-13 02:50:16 字數 1511 閱讀 7666

要掌握這三者之間的關係prototype,constructor,__proto__

通過**例子記錄一下

function f() 

};var o = new f(); //這裡o就是this

通過**看一下

constructor,預設指向prototype物件所在的建構函式,必須從物件的原型鏈上去找也就是f.prototype上去找

對於__proto__,o物件得到了__proto__,這樣也就形成了物件之間的鏈結,構成了原型鏈,能通過原型鏈訪問繼承的屬性和方法;當然o還有自身屬性a

注意點:當我們自定義了f的原型

function f() {};

f.prototype = ;

//因為原型指向的改變,需要加上構造器的正確值

f.prototype.constructor = f;

var o = new f();

console.log(o.constructor);

繼承要實現的效果是:

function f() 

function son()

var po = ;

f.prototype = po;

//第一種,是錯誤的

= f.prototype; //兩者是同輩分,之間不存在繼承,是兄弟

//第二種

son.prototype = object.create(f.prototype); .__proto__ = f.prototype 這個就是存在上下輩分,有繼承關係

//第三種

= new f(); 與第二種一樣,有繼承關係,但是這種會進行一次f建構函式的構建,消耗效能

所以我們採用son.prototype = object.create(f.prototype);

利用call加this機制完成子類對父類自身方法屬性的繼續

function f() 

}function son()

var son = new son();

console.log(son.fn())

整合一下

function f() 

function son()

f.prototype.fn = function () {};

var inherit = (function ();

// f.prototype = origin.prototype;

// new f()

target.prototype.constructor = target;

}}());

inherit(son, f);

var son = new son();

console.log(object.getprototypeof(son));

javascript學習筆記三之js物件

計算字串的長度 如何使用長度屬性來計算字串的長度。為字串新增樣式 如何為字串新增樣式。indexof 方法 如何使用 indexof 來定位字串中某乙個指定的字元首次出現的位置。match 方法 如何使用 match 來查詢字串中特定的字元,並且如果找到的話,則返回這個字元。如何替換字串中的字元 r...

JavaScript基礎之標準物件

為了區分物件的型別,我們用typeof操作符獲取物件的型別,它總是返回乙個字串.總結一下有這麼幾條規則需要遵守 1.不要使用new number new boolean new string 建立包裝物件 2.用parseint 或者parsefloat 來轉換任意型別到number 3.用stri...

JavaScript內建物件之Array 一

array新方法 一.位置方法 1.indexof 作用 返回某元素在陣列中的第乙個出現位置。引數 第乙個為需要查詢的元素。第二個為查詢的起始位置 可選,預設為0 返回值 返回元素在陣列的位置,未找到返回 1.2.lastindxof 作用 返回某元素在陣列中的位置 反向查詢 引數 第乙個為需要查詢...