函数的属性和方法

本文主要介绍了JavaScript中prototype属性,对于引用类型,prototype保存所有实例方法,每个函数都有该属性,指向包含实例共享属性和方法的对象,同一构造函数创建的实例共享同一个prototype。还提到要区分原型属性和实例属性。

prototype属性:

prototype属性:
对于引用类型来说,prototype保存着所有实例方法的真正所在,即所有的实例方法都是在prototype中保存着,平时,我们在使用实例方法时,
虽然用对象直接调用,但是真正的保存是在prototype中。在继承中prototype的作用更加明显
我们创建的每个函数都有一个属性是prototype(原型),这是属性是个指针,指向一个对象,该对象的用途是包含所有实例共享的属性和方法。
所有通过同一个构造函数创建的实例对象,都会共享同一个prototype。

示例:

<script type="text/javascript">
	function Student(newId,newName,newAge){
		this.id = newId;
		this.name = newName;
		this.age = newAge;
		//公共部分
		// this.eat = function(){
		// 	console.log("椒盐蘑菇");
		// }
	}
	//原型对象
	Student.prototype.eat=function(){
		console.log("椒盐蘑菇");
	}
	//原型属性
	Student.prototype.score = 99;
	let e1 = new Student(1,"刘备","20");
	let e2 = new Student(2,"关羽","19");
	e1.score=80;
	//删除e1的原型属性    this.score;
	delete e1.score;
	e1.eat();
	e2.eat();
	console.log(e1.score);
	console.log(e2.score);
</script>

在这里插入图片描述

注意事项:

** 区分原型的属性和实例的属性:
实例:用new调用构造函数创建出来的对象叫做实例。
原型属性:写在prototype后面的叫做原型属性 。
实例属性:创建出来的对象,重新给原型属性赋值后,就成为了实例属性。**
注意原型图:
函数(类)的属性:prototype
实例的属性:proto

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值