js物件3 工廠方法加深引出原型 雜誌

2022-07-26 05:18:13 字數 1340 閱讀 8307

1

我們說到 js的關鍵字this代表的是--》呼叫該函式的物件(通俗易懂的一句話:當前的函式屬於誰)

這個說法沒毛病:四海皆知嘛。

但是有一點不知:

一:函式前面有new的時候

1

這次的改進:函式createpreason()前面有new。函式內部的調整

1.去掉了函式裡面的物件建立

2.去掉了return 返回

3.物件的呼叫換成了this

為什麼這樣改進呢?改進後的js內部如何執行的呢?

假象系統給我們函式內部新增了物件與return返回,我們只需要在裡面新增想要的資料就行了。

乙個總結:1.函式外面加new,裡面不加new。相反:函式外面不加new,裡面加new.

2.函式前面加new,系統會自動在函式的內部新建立乙個物件賦值給this

再舉乙個例子加深印象:

1

function

show ()

4 show(); //

執行到這一步列印出:window (全域性函式預設屬於window, window.show() )56

new show() //

執行到這一步列印出:object78

/**9function show()

1415

new show(); //執行到這一步列印出:objec

16** /

好了this與new講的差不多了,繼續看下面

2.解決浪費--引出原型

還好現在的電腦記憶體大,夠用,所以浪費的起那是任性,但是做程式必須做到能省則省的原則

案例求乙個陣列的和:

1 var arr1 = new array(22,44,1,6,7);   //

也可以使用直接量建立 var arr1 = [22,44,1,6,7];

2 arr1.sum = function()

8 return

result;

9}10 alert(arr1.sum()); //

80

要是我有很多個這樣的陣列要求和呢?

我們只是給arr1新增了乙個求和的方法其他的陣列沒有這個方法,所以不能求其他的陣列和(有人說還不如使用乙個函式呢---恩,有道理。)

接下來就是該網上,書上...廣泛流程的原型登場了。

js基礎 工廠方法

doctype html html lang en head meta charset utf 8 meta name viewport content width device width,initial scale 1.0 title document title script 工廠方法 簡稱工...

3 工廠方法模式

簡單工廠方法不符合開閉原則,增加按鈕功能需要修改工廠類。現在對該系統進行修改,不再設計乙個按鈕工廠類來統一負責所有產品的建立,而是將具體按鈕的建立過程交給專門的工廠子類去完成,我們先定義乙個抽象的按鈕工廠類,再定義具體的工廠類來生成圓形按鈕 矩形按鈕 菱形按鈕等,它們實現在抽象按鈕工廠類中定義的方法...

3 工廠方法模式

1.定義 每個具體產品對應乙個具體的工廠類,工廠類中包含生產該產品的全套方法。2.具體角色 抽象產品角色 具體產品角色 抽象工廠角色 具體工廠角色 from abc import abcmeta,abstractclassmethod,abstractmethod class payment met...