js 原型 图解

基本关系

    function Person(){
		
	};  //构造函数
	var p=new Person();  //由构造函数创建的实例p

  <--p就是那个构造函数Person创建出来的实例,
  这个p实例中是没有prototype属性的,
  构造函数Person中有 prototype属性,
  实例p中有__proto__属性-->

js 原型 图解_第1张图片

构造函数,使用.prototype属性访问原型

实例对象,使用.__proto__属性访问原型

修改原型对象中的属性值

function Person(){
		
	};

    Person.prototype.name="0";  
	var p=new Person();
	console.log(p.name); //0
	
	p.name="123";
	console.log(p.name); //123
	var p1=new Person();
	console.log("p1: "+p1.name); //p1 0

后台调试,显示p.name="123"后的状况

js 原型 图解_第2张图片

总结:给当前对象的原型提供的属性赋值,实际上是给当前对象添加了该属性的新成员,不会修改原型对象的成员

深度关系

js 原型 图解_第3张图片

在浏览器上调试

js 原型 图解_第4张图片

你可能感兴趣的:(js)