javascript原型链实例讲解
程序员文章站
2023-10-31 22:58:16
javascript原型链可以保存同一类型的对象的公共属性,这里方法也看成是属性,来看一段代码
function person(name){...
javascript原型链可以保存同一类型的对象的公共属性,这里方法也看成是属性,来看一段代码
function person(name){ this.name = name; } function cart(name){ this.name = name; } person.prototype.say = function(){ alert("hello"); }; var p = new person("小明"); var q = new person("小红"); var cart = new cart("南博基尼"); console.log(p); console.log(q); console.log(cart);
观察三个对象的proto属性,发现p和q都有say方法,而cart中没有say方法,那么证明prototype可以用来指定相同类型的公共属性
//在上面代码的基础上输出 console.log(p.__proto__);
发现输出的对象中有say方法,也就是我们的原型对象,也就是说
前面person.prototype 事实上就是指向了这个对象,然后再.say,也就是给这个对象赋值,添加一个say的属性,那么其他同类型的对象也就拥有了该属性
//当你这么写时 console.log(p.__proto__); console.log(person.prototype);
你会发现上面两个输出的内容是一样的,也就是说我们可以通过特定的对象拿到它这一类的原型对象,也可以通过person的prototype属性拿到原型对象