JS 物件導向實現 學習總結

2021-07-24 23:59:54 字數 1367 閱讀 8516

1.js是完全的物件導向語言,其中類的建立格式如下:

var person =

}   // 注意的是字段的賦值是冒號取代=      與lua表的區別

欄位的訪問:1. person.name  

2. person[「name"]

欄位的新增直接類名.新加的欄位名 = 內容 (或者是 「」 方法)

欄位的刪除:delete + 欄位的訪問                                   **:

console.log(person.***)

delete person.*** // 刪除字段

person.height = 182

console.log(person)

// 形式二

function helloworld()

}var hw = new helloworld()

console.log(hw.print())// js

console.log(hw.name) // 李四

2.兩個變數的連線    +   或者   ,    (lua中是  .. )

console.log("abc","abc")// abc abc

console.log("abc"+"abc")// abc abc

console.log(5,6)   // 5 6

console.log(5 + 6) // 11

3.this使用規則:

// this的使用規則:1.在最外層外,this引用的是全域性變數

//                             2.函式內部根據呼叫方式的不同選擇不同的物件

一般this出現在函式裡時,只有在函式執行時才能確定this是什麼,因為this是指那個呼叫這個函式的物件。

x = 5; // 全域性變數

var obj = }

obj.doit()// 3 誰呼叫指向誰

var func = obj.doit;

func() // 5 因為this指的是呼叫這個函式的物件,這裡引用了全域性變數

function f()

var obj=

f.call()  // 5 

console.log("ssssssssssss")

var obj= }

var obj2=;

obj.doit() // 3

function f(a,b)

f.call(,1,2) //從第二個引數起的引數都是函式f的引數 

4.在類中的函式應避免this的歧義

在函式內若要引用「

全域性」this 就要在函式體內定義乙個變數self來接收 this ,此後才可避免二義性。

《物件導向基礎 C 實現》學習筆記之四

1 複製建構函式 是一種特殊的函式,它以同類物件作為引數,並新建乙個物件作為副本 如果我們自己沒有定義複製建構函式,則編譯器將自動生成乙個 複製建構函式用於在構造新物件的過程中將物件的內容複製到新物件中。2 在下列三種環境下,會呼叫複製建構函式 將某個物件初始化為同乙個類中的另乙個物件時 將物件當作...

《物件導向基礎 C 實現》學習筆記之五

1 reffunction.cpp include class person 類person結束 void main 2 time.cpp include class time void display 檢查分鐘數是否小於60 if minutes 60 void main 3 p119 示例缺少的...

JS 物件導向 總結

建立物件 1.工廠模式 function createperson name,age,job var o new object o.name name o.age age o.job job o.sayname function alert this.name return o var person...