JS中的函数原型

将对象的公有属性,统一添加到构造函数的原型对象中,这样不用分别为每一个对象添加/创建函数,也不影响全局作用域,就可以为每个对象添加属性。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
	</head>
	<body>
	<script type="text/javascript">
        function Person(name,age,gender){
			this.name = name;
			this.age = age;
			this.gender = gender;
		}
        //向函数原型对象中添加函数/属性,每个实例都可以访问
		Person.prototype.sayName = function(){
			alert(this.name);
		}
		Person.prototype.name = "我是原型中的名字";
		var per = new Person('fang',18,'女');
		var per2 = new Person('guang',18,'男');
		per.sayName();
		per2.sayName();
		//使用in检查对象中是否含有某个属性时,如果对象中没有但是原型中有,也会返回true;
		console.log("name" in per);
		//使用对象的hasOwnProperty检查对象自身是否含有属性值
		console.log(per.hasOwnProperty("age"));
		console.log(per.__proto__.__proto__.hasOwnProperty("hasOwnProperty"));

        console.log(per.__proto__.__proto__);//object
        console.log(per.__proto__.__proto__.__proto__);//object
	</script>		
	</body>
</html>

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值