建立物件的三種方式

2021-09-28 22:04:38 字數 2956 閱讀 1972

三、字面量方式建立物件

總結呼叫系統的建構函式建立物件

var 變數名=

newobject()

; object 是系統的建構函式

自定義建構函式建立物件(結合第一種和需求通過工廠模式建立物件)

字面量的方式建立物件

//例項化物件

var obj =

newobject()

;//物件有特徵(屬性)和行為(方法)

//新增屬性 物件.名字=值;

obj.name =

"小楊"

; obj.age =25;

obj.*** =

"男"//新增方法 物件.名字=函式;

obj.

eat=

function()

; obj.

play

=function()

obj.

cook

=function()

console.

log(obj.name)

; console.

log(obj.age)

; console.

log(obj.***)

; obj.

eat();

obj.

play()

; obj.

cook()

;

// 自定義建構函式建立物件,需要自定義乙個建構函式,然後才能建立物件

//函式和建構函式的區別是:建構函式的首字母是大寫的,函式的首字母是小寫的

function

person

(name,age);}

//通過自定義的建構函式來建立物件

var arr=

newperson

("社會王",18

);console.

log(arr.name)

; console.

log(arr.age)

; arr.

sayhi()

;

自定義建構函式建立物件的時候,發生了四件事

1. 在記憶體中開闢空間(申請一塊記憶體),來儲存建立的新的物件

2. 把this設定為當前的物件

3. 設定物件的屬性和方法值

4. 把this這個物件返回

如何獲取該變數(物件)是不是屬於什麼型別

語法:

變數 instanceof 型別的名字----->輸出是布林型別,true表示是這個型別,false表示不是這個型別

在當前的物件的方法中,可以用this關鍵字代表當前的物件

//人的物件

var person =

newobject()

; person.name =

"小黑"

; person.age =20;

person.

sayhi

=function()

; person.

sayhi()

console.

log(person instanceof

object);

//instanceof判斷是不是這個型別,輸出值為布林型別

// 把建立物件的**封裝到乙個函式裡面,可以一次性建立多個物件

// 工廠模式建立物件

function

createobject

(name, age)

return obj;

}var students=

createobject

("社會王",22

);students.

eat(

);

//字面量方式建立物件

var obj=

;//空物件

//新增屬性

obj.name=

"小白"

; obj.age=8;

obj.

sayhi

=function()

;

obj.

sayhi()

; console.

log(obj.age)

;var a =

"1";

var tobj =

}

tobj.

tfunc()

;// 字面量的方式建立物件的缺陷:一次性的物件

var obj2=

; obj2.name=

"柯南"

; console.

log(obj2.name)

;//點語法: 物件.名字=值; 物件.名字=函式; 沒有什麼點什麼就有了

都是函式,都可以建立物件,都可以傳入引數

工廠模式:

函式名是小寫

有new,

有返回值

new之後的物件是當前的物件

直接呼叫函式就可以建立物件

自定義建構函式:

函式名是大寫(首字母)

沒有new

沒有返回值

this是當前的物件

通過new的方式來建立物件

js是一門什麼樣的語言 是一門解釋性語言 是一門指令碼語言 是一門弱型別的語言,宣告變數都用var 是一門基於物件的語言

是一門動態型別的語言:

**(變數)只有執行到這個位置的時候,才知道這個變數中到底儲存了什麼,如果是物件,就有物件的屬性和方法,如果是變數,就是變數的作用

物件沒有什麼,只要點了,通過點語法,那麼就可以為物件新增屬性或者方法

C 建立物件的三種方式

c 中有三種建立物件的方法 include using namespace std class a a int main 第一種和第二種沒什麼區別,乙個隱式呼叫,乙個顯式呼叫,兩者都是在程序虛擬位址空間中的棧中分配記憶體,而第三種使用了new,在堆中分配了記憶體,而棧中記憶體的分配和釋放是由系統管理...

建立執行緒物件的三種方式

建立執行緒物件的三種方式 1 自定義類繼承thread類,重寫run方法。public class rabbit extends thread 2 自定義類實現runnable介面,重寫run方法。使用靜態 建立thread 物件,啟動執行緒。public class programmer impl...

C 建立物件的三種方式

出處 c 中有三種建立物件的方法 include using namespace std class a a int main 第一種和第二種沒什麼區別,乙個隱式呼叫,乙個顯式呼叫,兩者都是在程序虛擬位址空間中的棧中分配記憶體,而第三種使用了new,在堆中分配了記憶體,而棧中記憶體的分配和釋放是由系...