原型链:_proto_? => [[prototype]]? =>大家都有
原型:prototype? ?=>函数特有
function fn(){
}
// 在函数原型上挂东西,利于继承
fn.prototype.name = '小明'
fn.prototype.fn2=function(){
console.log('prayszll')
}
原型的继承
function Person() {
}
Person.prototype.name = 'prayszll'
Person.prototype.age=21
Person.prototype.getAge = function(){
console.log(this.age)
}
// 实例
let person1 = new Person()
console.log(person1.name)
person1.getAge()
原型链查找规则:从当前实例属性去查找,如果找到了就返回,否则顺着原型链一层一层往上面找
function Person() {
}
Person.prototype.name = 'prayszll'
Person.prototype.age=21
Person.prototype.getAge = function(){
console.log(this.age)
}
// 实例
let person1 = new Person()
person1.name='zll'
console.log(person1.name)
person1.getAge()
console.log(person1)
找自身私有属性
//接上面代码片段
let item
for(item in person1){
if(person1.hasOwnProperty(item)){
console.log(item)
}
}