prototype有什么用(protype和proto)
JavaScript中什么是prototype原型对象?它有和作用?
在JavaScript中,prototype对象是实现面向对象的一个重要机制。每个函数就是一个对象(Function),函数对象都有一个子对象prototype对象,类是以函数的形式来定义的。prototype表示该函数的原型,也表示一个类的成员的集合。在通过new创建一个类的实例对象的时候,prototype对象的成员都成为实例化对象的成员。
1、该对象被类所引用,只有函数对象才可引用;
2、在new实例化后,其成员被实例化,实例对象方可调用。
同时,函数是一个对象,函数对象若直接声明成员,不用被实例化即可调用。
JavaScript里面的Prototype是什么意思?怎么用?
prototype是原型的意思,也就是JS对象的原型,一般用来扩展原型的时候用.
prototype是一个属性,所有的函数都有,这个属性引用了一个对象.prototype对象是实现面向对象的一个重要机制.每个函数都是一个对象,它们对应的类就是function,每个函数对象都具有一个子对象prototype,prototype表示了该函数的原型.
JavaScript里面的prototype是什么意思?怎么用?能举个例子吗?
翻译一下是原型的意思~也就是说是JS对象的原型,一般用来扩展原型的时候用~或者用到原型链式的继承上去~举个例子:
声明一个对象var abc=function(){
this.name="小明";
}
abc现在是一个对象(函数也是对象的一种),然后我们扩展一下这个对象,给它一个方法:
abc.prototype.say=function(){
alert(this.name);
}
这样就扩展了原来的函数对象了~是用的时候直接var a=new abc();
a.say();就会弹出小明来了。这么做的好处是不会额外产生内存,所有实例化后的对象都会从原型上继承这个方法。
至于原型链继承的话你可以去搜一下我就不举例子了~不懂的话可以再问我~
对象的prototype属性是什么?有什么作用?
对象的prototype属性其实也是一个对象,它方便我们为当前对象添加属性和方法。
当然,不使用prototype也能为对象添加属性和方法,但是不用prototype会显得不是很友好,为什么这么说呢?
我以为对象添加方法为例,不用protoype属性添加方法是这样的:
var student1 = { name: “Jack”, socre: 88};
var student2 = { name: “Rose”, socre: 96};
function studentDetails() {
//代码
}
//为student1和student2添加方法
student1.logDetails = studentDetails;
student2.logDetails = studentDetails;
即使student1和student2的结构一样,但还是要为他们分别添加studentDetails方法。
而使用prototype就不用,它的代码是这样的。
function Student(n, s) {
this.name = n;
this.score = s;
}
//使用prototype添加方法。
Student.prototype.logDetails = function studentDetails() {
//代码
}
//下面三个对象都会有logDetails方法
Student student1;
Student student2;
Student student3;
上述代码是在秒秒学课程代码的基础上改进的,有空你可以去教程网站秒秒学看下js的课程。