JS中的函数原型

本文介绍JavaScript中如何通过构造函数和原型对象为对象实例添加共享属性和方法,包括使用hasOwnProperty检查自身属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

<!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>

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值