欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

函数的属性和方法

程序员文章站 2022-03-04 19:17:52
...

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

相关标签: javascript