Javascript基礎(三)原型和原型鏈

2021-08-03 12:57:39 字數 2345 閱讀 4439

題目:

————————————–我是思考分界線——————————————–

知識點:

1、建構函式

2、建構函式-擴充套件

3、原型規則和示例

4、原型鏈

5、instanceof

1、建構函式

function

foo(name.age)

var f = new foo('zhangsan',20);

2、建構函式–拓展

var a = {}其實是var a = new object()的語法糖;

var a = 其實是 var a = new array()的語法糖;

function foo(){}其實是var foo = new function()的語法糖;

使用instanceof判斷乙個函式是否屬於乙個變數的建構函式;

3、原型規則和示例

5條原型規則

(1)、所有的引用型別(陣列,物件,函式),都具有物件特性,即可以自由拓展屬性(除了』null『意外);

(2)、所有的引用型別(陣列,物件,函式),都有乙個`'__proto__'`(隱式型別)屬性,屬性值是乙個普通的物件。

(3)、所有的函式,都有乙個prototype(顯示原型),屬性值也是乙個普通的物件。

(4)、所有的引用型別(陣列、物件、函式),`'__proto__'`屬性指向他的建構函式』prototype『屬性值。

//建構函式**示例

function

foo(name ,age)

foo.prototype.alertname = function

()//建立示例

var f = new foo('zhangsan')

f.printname = function

()//測試

f.printname();

f.alertname();

var item

for(item in f)

}

原型鏈:

//建構函式**示例

function

foo(name ,age)

foo.prototype.alertname = function

()//建立示例

var f = new foo('zhangsan')

f.printname = function

()//測試

f.printname();

f.alertname();

f.tostring();//要去 f.__proto__.__proto__ 中查詢

//即要去object.prototype中找

//即要去object.__proto__ 會找到null

instanceof:

判斷引用型別屬於哪個建構函式的方法

f instanceof foo   true
判斷邏輯是:f的'__proto__'一層一層往上找,能否找到對應的foo.prototype

f instanceof

object

true

解題:

1、如何準確判斷乙個變數是陣列型別

arr instanceof array
2、 寫乙個原型鏈整合的例子

//封裝乙個dom查詢的例子

function

elem

(id)

elem.prototype.html = function

(val)else

}elem.prototype.on = function

(type,fn)

var div1 = new elem ('div1)

div.html('

hello

')div1.on('click',function())

3、 描述new乙個物件的過程

建構函式;

(1)、建立乙個新物件

(2)、 this指向這個新物件

(3)、 執行**,即對this賦值

(4)、返回this

4、zepto(或其他框架)原始碼中如何使用原型鏈

閱讀原始碼是高效提高技能的方式

但不能埋頭苦鑽,有技巧

先去網上搜,,比如jquery原始碼分析什麼的,會有結構

JS原型與繼承(三) 原型鏈

先把基本 拿出來 function person name var p1 newperson 張三 很重要的幾個知識點 1.在物件中查詢乙個屬性時,會先從本身查詢,如果查詢不到會到prototype中查詢。即可以引申,所有物件中都有constructor 這個屬性是在prototype中的 2.原型...

設計模式(三) 原型模式

用原型例項指定建立的種類,並通過複製這些原型建立新的物件。原型模式的本質上就是物件拷貝。1 類初始化需要消耗非常多的資源,這個資源包括資料 硬體資源等,通過原型複製這些消耗。2 通過new產生乙個物件需要非常繁瑣的資料準備或訪問許可權,這時可以使用原型模式。3 乙個物件需要提供給其他物件訪問,而且各...

設計模式 三 原型模式

原理 示例 原型模式 prototype pattern 是用於建立重複的物件,同時又能保證效能。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。簡單的說,就是轉殖乙個物件。適用於大物件的建立,因為建立乙個大物件需要很大的開銷,如果每次new就會消耗很大,原型模式僅需記憶體拷貝即可...