www.360doc.com/content/15/1215/09/10504424_520515683.shtml
www.cnblogs.com/chuaWeb/p/jQuery-1-9-1-frame1.html
www.cnblogs.com/zhiyishou/p/4093897.html
www.cnblogs.com/DF-fzh/p/5619319.html
//// /对象的类型是什么..?
对象的类型是什么是__构造函数的名字/
function Fn(name,age) {
this.name=name;
this.age=age;
this.hello=function(){
console.log(this.age);
}
}
var o = new Fn("tahirjan",23); //创建一个对象Fn
//原型对象也是对象,它也有原型对象
//对象o的原型对象是__proto__
// o.__proto__.__proto__ 对象的原型对象的原型对象是Object
//o.__proto__.__proto__ .__proto__ null
//对象里面访问某一个成员的时候,当前对象如果没有找它的原型对象里面找,在没有,在到原型对象里买你找,发现null如果还没有,返回的时候undefined....这个是对象的原型链结构;
//对象的继承关系
//o.constructor => FN(){}
//o.__proto__.constructor => FN(){}
//o.__proro__ => constructor,__proto__
//hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
/*o的原型对象__proto__中有没有name,age属性,fangfa*/
console.log(o.hasOwnProperty("name"));
console.log(o.hasOwnProperty("age"));
console.log(o.hasOwnProperty("hello"));
//isPrototypeOf:是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。
/*构造函数的原型对象是否存在o的实例中*/
console.log(Fn.prototype.isPrototypeOf(o));
console.log(Fn.prototype.constructor);
/*Fn(name,age) {
this.name=name;
this.age=age;
this.hello=function(){
console.log(this.age);
}
}*/
console.log(Fn.prototype);
/*
constructor
:
ƒ Fn(name,age)
__proto__
:
Object
*/