JavaScript学习笔记 --原型 prototype与__proto__ 2020-05-10

prototype与__proto__
prototype 是函数里的一个属性,是站在函数的角度来说的
__proto__是对象里的一个属性(有的浏览器不支持),是站在对象的角度来考虑的
在这里插入图片描述

		<script>
			//定义一个函数
			function a1(){
				var a=10;
			}
			//创建一个对象
			var aaa=new a1();
			console.log(a1);
			console.log(aaa);
			console.log(a1.prototype);//function(函数) prototype
			console.log(aaa.__proto__);//object(对象) __proto__
		</script>
		<script>
			//函数
			function a1(){
				var a=10;
			}
			//对象
			var aaa=new a1();
			//打印a1函数    有三种方法
			console.log(a1);
			console.log(aaa.__proto__.constructor);
			console.log(aaa.constructor);
		</script>

继承关系问题(原型链)
在原型链上(父子关系上)可以进行属性共享

			//定义一个函数
			function A(){
				var a=10;
			}
			//创建一个对象
			var a=new A();
			Object.prototype.country='China'//等价于 a.__proto__.__proto__.country='China'
			//从object继承了country属性,所以输出的为China
			console.log(a.country)//输出结果:China
			A.prototype.country='America';
			//对country值进行了重新赋值,所以输出America
			console.log(a.country);//输出结果:America

在这里插入图片描述

//原型链
console.log(aaa.__proto__); //a1的原型
console.log(aaa.__proto__.__proto__); //object的原型
console.log(aaa.__proto__.__proto__.__proto__);//null

更多详情参考:javaScript原型与闭包笔记-----John_Phil的简书

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值