JS建立物件的六種方式

2021-10-14 15:06:10 字數 2282 閱讀 7279

表現方式:

}

『:』 代表對映

『=』 代表賦值

var x =

"age"

;var obj =

newobject()

; obj.name =

"show"

; obj.x =18;

//字串

obj[x]=40

;//變數

console.

log(obj)

;

var x =

"hooby"

;var obj =

; obj.*** =

"man"

; obj[x]

="dance"

; obj.

say=

function()

console.

log(obj)

;

寫法:

1、建立函式

2、傳入引數

3、函式內建立物件

4、return 物件

呼叫:函式名(引數)

優點:返回新物件,互不影響

缺點:**重複(相同方法)、沒有從屬(不能知道物件從**來)- -> instanceof 只能判斷是物件,不能判斷屬於誰

function

students

(name, age)

}return obj;

}var obj1 =

students

("show",18

);console.

log(obj1)

;console.

log(obj1 instanceof

object);

//true

console.

log(obj1 instanceof

students);

//false

寫法:

1、建立函式

2、傳入引數

3、this.屬性名 = 值

呼叫:var obj = new 建構函式(引數)

優點:有從屬

缺點:**重複(相同方法)

共識:建構函式的首字母大寫

function

students

(name, age)

}var obj1 =

newstudents

("show",18

);console.

log(obj1)

;console.

log(obj1 instanceof

object);

//true

console.

log(obj1 instanceof

students);

//true

原型:每個函式中都有乙個prototype屬性,屬性的值是物件,這個物件叫原型物件。

優點:公共/相同的屬性、方法不重複,有從屬關係

缺點:原型上的屬性不可單獨改變

functionfn(

)fn.prototype.name =

"show"

;fn.prototype.age=18;

fn.prototype.

say=

function()

;var obj1 =

newfn()

;console.

log(obj1)

;

組合模式就是建構函式模式+原型模式

有從屬關係且不重複

屬性定義在建構函式內,方法定義在建構函式的原型物件上。

function

fn(name, age)

fn.prototype.

say=

function()

var obj1 =

newfn

("show",18

);var obj2 =

newfn

("li",20

);console.

log(obj1)

;console.

log(obj2)

;obj1.

say();

obj2.

say(

);

建立物件六種方式

newobject var x age var obj new object obj.name gao obj.x 18 字串 obj x 16 變數 console.log obj 字面量 物件 中 proto 函式 中 prototype var x hooby var obj obj.男 ob...

PHP 建立物件的六種方式

class demo public function getobj public function getstaticobj class demo1 extends demo echo 1.用new 類名 建立乙個物件 obj new demo 2.將類名以字串的方式放在乙個變數中 classnam...

js實現繼承的六種方式

原型鏈利用原型讓乙個引用型別繼承另外乙個引用型別的屬性和方法。建構函式,原型,例項之間的關係 每個建構函式都有乙個原型物件,原型物件包含乙個指向建構函式的指標,而例項都包含乙個指向原型物件的內部指標。原型鏈實現繼承例子 function supertype supertype.prototype.g...