js原型关系详解与属性继承实例



User.protype 是显示原型属性,只有函数才有

隐式原型属性指向自己缔造者的原型对象

<script>
	// // 一个函数对象结构
	function User(){}
	
	//函数的隐式原型是ƒ anonymous(),ƒ anonymous()是一种类型,匿名函数类型
	console.dir(User.__proto__);
	//说明函数的隐式原型ƒ anonymous()也是一个对象
	console.dir(User.__proto__.__proto__);
	//所以
	console.dir(User.__proto__.__proto__ === Object.prototype); //true
	
	//-----------------------------------------------------------------
	//所有对象的隐式原型的最终就是Object.prototype
	console.dir(Object.prototype.__proto__); //null
	
	//函数的原型属性里面有一个构造函数constructor
	console.dir(User.prototype);//Object
	//函数的原型属性是对象
	console.dir(User.prototype.__proto__ === Object.prototype);//true
	
	
	//函数的原型属性里面有一个构造函数constructor又是一个函数,一致循环下去
	console.dir(User.prototype.constructor);//ƒ User()
	
	
	
	
	console.dir(User.prototype.__proto__ === Object.prototype);//true
	console.dir(User.__proto__);//ƒ anonymous()
	//匿名函数类型也是一个对象
	console.dir(User.__proto__.__proto__);
	
	
	
	
	
	
	// // new 一个函数对象
	// let hd = new User();
	// console.log(hd);
	// console.dir(User);
	
	
	
	// let ob = new Object();
	// console.dir(Object);
	// console.dir(Object.__proto__);
	// console.dir(Object.prototype === Object.__proto__);
	
	// let arr = [];
	// console.dir(arr);
	// console.dir(Array.prototype);
	
	
</script>

posted @ 2022-09-26 15:02  Arborblog  阅读(22)  评论(0编辑  收藏  举报