javascript 高階程式設計 十

2021-08-02 14:22:17 字數 812 閱讀 3374

理解js物件(2)建立物件

js中建立物件的方式有很多,我們把他們統稱為模式。

工廠模式

優點:解決了建立多個相似物件的問題。

缺點:沒有解決物件識別問題。(不知道乙個例項物件的型別)

function createperson(name, age, work)

return o;

}var person1 = createperson('kim',1,'engineer');

person1.sayname();

建構函式模式:

優點:建立自定義的建構函式意味著將來可以將他的例項標示為乙個特定的物件。

缺點 :每個方法都在例項上重新建立一遍。

function person(name, age, job)

}var person1 = new person('jim',1,'doctor');

var person2 = new person('tom', 2, 'teacher') ;

person1.sayname();//jim

person2.sayname();//tom

要想不重複定義方法,可以把方法提出來作為乙個全域性的方法,在建構函式中呼叫函式的指標。

原型模式:(****)

優點:可以讓所有物件例項共享它所包含的屬性和方法。

這個模式很重要我下一節再詳細的講解。

JavaScript高階程式設計

ecmascript有5種基本型別資料 另外還有一種複雜的資料型別 typeof就是用來檢測變數的資料型別的,typeof可能會返回以下值 typeof操作符在檢測引用型別的值時,總是會返回object,所以用處不大。instanceof用來檢測物件型別的,返回值是 true false。例如 pe...

JavaScript高階程式設計 this

在函式中this到底取何值,是在函式真正被呼叫執行的時候確定的,函式定義的時候確定不了 因為this的取值是執行上下文環境的一部分,每次呼叫函式,都會產生乙個新的執行上下文環境。所謂建構函式就是用來new物件的函式。其實嚴格來說,所有的函式都可以new乙個物件,但是有些函式的定義是為了new乙個物件...

javascript 高階程式設計 二

這裡我們直接進入主題 在js剛剛開始的時候,必須面臨乙個問題,那就是如何使的js的載入和執行不會影響web核心語言html的展示效果,和html和諧共存。在這個背景下 2 xhtml中的應用 在html中如果字串,那麼html就會認為js指令碼已經結束所以會產生乙個錯誤用一下 來替換 來替換aler...