/*總結:
1.new乙個物件,首先會讀取例項物件的屬性,若無,讀取函式本身的屬性;
若無,讀取函式原型的屬性;
2.若例項物件設定了屬性,又刪除了屬性,則會讀取函式原型中的屬性*/
//函式本身的屬性
functionfn(
)var f1 =
newfn()
//給函式原型設定屬性
fn.prototype.name =
'原型name屬性'
fn.prototype.age =
'原型age屬性'
var f2 =
newfn()
var f3 =
newfn()
//設定例項屬性
f3.name =
'例項name屬性'
console.
log(f1.name,f1.age)
//函式name屬性,原型age屬性
console.
log(f2.name,f2.age)
//函式name屬性,原型age屬性
console.
log(f3.name,f3.age)
//例項name屬性,原型age屬性
//刪除例項屬性,則例項此時指向的是函式的原型
delete f3.name
console.
log(f3.name,f3.age)
//原型name屬性,原型age屬性
三種獲取原型的方法
console.
log(object.
getprototypeof
(f1)
)//推薦使用
console.
log(f1.__proto__)
console.
log(f1.constructor.prototype)
JS原型和原型鏈
建立建構函式 function word words word.prototype 建立例項 var w new word hello world w.print function w.print hello world w.alert hello world function.prototype....
js原型鏈和原型
1 原型 在js中一切皆物件,那原型也是乙個物件,通過原型可以實現物件的屬性繼承,js的物件中包含著乙個 prototype 內部屬性,這個屬性所對應的就是物件的原型。prototype 作為物件的內部屬性不能被直接訪問,所以為了方便檢視乙個物件的原型,提供了 proto 這個非標準的訪問器,在js...
JS 原型和原型鏈
先宣告乙個建構函式 function people name,age 把類的方法寫在建構函式原型物件中,子類就不能再通過呼叫父類建構函式來繼承方法 屬性還是可以繼承 給people的原型新增方法 people.prototype.speak function 建立子類繼承people functio...