原型模式Prototype,constructor,__proto__详解

前端开发 作者: 2024-08-25 20:40:01
最近由于在找工作,又拿起《JavaScript高级程序设计》看了起来,从中也发现了自己确实还是有很多地方不懂,刚刚看到原型模式这里,今天终于搞懂了,当然,我也不知道自己的理解是否有错。 1、proto
function fn(){};
console.log(fn.prototype);
 Parent(name,age){  
    Parent.prototype.name=name;  
    Parent.prototype.age=age; 
    Parent.prototype.arr=["123","we"]; 
    Parent.prototype.sayHi=(){
        console.log("Hi");
    };   
}

console.log(Parent.prototype.constructor===Parent);//true
var t= new Parent("huan",12);

console.log(Parent.constructor);function Function console.log(t.constructor);function Parent()
t.__proto__=Parent.prototype
var Foo= Foo(){};
Foo.prototype.x=1;
var foo=new Foo();

Foo.prototype={x:2,constructor:Parent};
var foo1= Foo();

console.log(foo.x); 1
console.log(foo1.x);2
console.log(foo1.constructor===Foo);flase
console.log(foo.constructor===Foo);true
console.log(foo1.constructor===Parent);true
console.log(foo.constructor===Parent);flase
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68589.html