//建構函式
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...