JS 建構函式與原型

2022-09-23 17:33:07 字數 1039 閱讀 7044

//建構函式

function fn(name)

}//新增靜態成員-方法

fn.b=function ()

//新增原型方法

fn.prototype.a=function ()

fn.prototype.b=function ()

//例項化 - 建立物件

let test = new fn('223')

例項成員可以通過例項化物件訪問 console.log(test.a) //例項成員

靜態成員只能由建構函式本身訪問 console.log(fn.b) //靜態成員

原型通過例項化的物件訪問 console.log(test.b) //原型方法b

1 原型: 每個建構函式都有, 通過 函式名.prototype 可訪問

2 原型兩個預設屬性:

`constrcutor`(構造器): 指向函式本身

`__proto__ `: 指向上一級(爸爸)的原型

3 原型: 包含所有例項*共享*的屬性和方法,

(*共享* 每乙個例項物件的屬性和方法不獨立, 不建立副本. 好處: 資料共享,節約資源)

//fn的結構

function fn(name)

} fn.prototype:

b=function ()

constructor: ƒ fn(name)

__proto__

} fn.prototype.__proto__:

1 用於查詢物件的屬性與方法, 有就用, 沒有undefined

2 優先順序: 非原型屬性方法 > 原型屬性方法 > 爸爸的原型屬性方法...

console.log(test.a) //例項成員

console.log(test.b) //原型方法b

3 建構函式的上一級是 object , object.prototype.\_\_proto__=unll

JS 建構函式 原型 new

1 每個函式都有乙個prototype屬性,該屬性指向函式的原型物件,原型物件的用途是可以讓所有物件例項共享它所包含的屬性和方法。2 預設情況下,每個原型物件都會自動獲得乙個constructor屬性,該屬性指向prototype屬性所在的函式。constructor屬性最初是用來標識物件型別的,但...

JS 原型constructor建構函式

一 物件原型 proto 和建構函式原型物件prototype都有乙個屬性,叫做constructor,稱之為建構函式,主要記錄該物件引用了哪個建構函式,可以讓原型物件重新指向原來的建構函式,這就是為什麼在例項物件中傳遞引數時,建構函式本身不需要寫return返回結果的原因 為了更清晰的看到是否為建...

js建構函式和原型

建立物件的方式 1,物件字面量 var obj1 2,new object var obj2 new object 3,利用建構函式建立物件 建構函式 利用建構函式 可以建立很多個物件 建構函式,把物件中公共屬性和方法抽出來,放在建構函式裡,通過new建立不同的物件 function star na...