㈠ javaScript中什么是prototype原型对象它有和作用
在JavaScript中,prototype对象是实现面向对象的一个重要机制。每个函数就是一个对象(Function),专函数对象都有一个子对象prototype对象,属类是以函数的形式来定义的。prototype表示该函数的原型,也表示一个类的成员的集合。在通过new创建一个类的实例对象的时候,prototype对象的成员都成为实例化对象的成员。
1、该对象被类所引用,只有函数对象才可引用;
2、在new实例化后,其成员被实例化,实例对象方可调用。
同时,函数是一个对象,函数对象若直接声明成员,不用被实例化即可调用。
㈡ js构造函数中如何调用prototype内方法
<!DOCTYPEhtml>
<html>
<head>
</head>
<body>
<scripttype="text/javascript">
varPerson=function(){
this.name="csz";
Person.prototype.say();
}
Person.prototype.say=function(){
alert("hello");
}
Person();
</script>
</body>
</html>
直接调用就行了啊,调用Person就直接调用了它原型专上的属say方法了
㈢ javascript原型,原型链 有什么特点
javascript原型,原型链特点:原型链实现了继承。
JS中每个函数都存在有一个原型对象属性prototype。并且所有函数的默认原型都是Object的实例。每个继承父函数的子函数的对象都包含一个内部属性proto。该属性包含一个指针,指向父函数的prototype。若父函数的原型对象的_proto_属性为再上一层函数。在此过程中就形成了原型链。
原型链的作用是用来实现继承,比如我们新建一个数组,数组的方法就是从数组的原型上继承而来的。
var arr = [];
arr.map === Array.prototype.map //arr.map
是从arr.__proto__上继承下来的,arr.__proto__也就是Array.prototype。
(3)javascriptprototype扩展阅读:
1.JS中每个函数都存在有一个原型对象属性prototype。并且所有函数的默认原型都是Object的实例。
2.每个继承父函数的子函数的对象都包含一个内部属性_proto_。该属性包含一个指针,指向父函数的prototype。若父函数的原型对象的_proto_属性为再上一层函数。在此过程中就形成了原型链。
3.原型链实现了继承。原型链存在两个问题:a 包含引用类型值的原型属性会被所有实例共享。b 在创建子类型时,无法向超类型的构造函数中传递参数。
参考资料:网络-javascript
㈣ JavaScript里面的prototype是什么意思怎么用能举个例子吗
翻译一下是原型的意思~也就是说是JS对象的原型,一般用来扩展原型的时候用~或者版用到原型链式的权继承上去~举个例子:
声明一个对象var abc=function(){
this.name="小明";
}
abc现在是一个对象(函数也是对象的一种),然后我们扩展一下这个对象,给它一个方法:
abc.prototype.say=function(){
alert(this.name);
}
这样就扩展了原来的函数对象了~是用的时候直接var a=new abc();
a.say();就会弹出小明来了。这么做的好处是不会额外产生内存,所有实例化后的对象都会从原型上继承这个方法。
至于原型链继承的话你可以去搜一下我就不举例子了~不懂的话可以再问我~
㈤ javascript一个函数实例有prototype属性吗
构造函数是有protptype属性的,然后通过这个构造函数构造出的对象实例是有一个__proto__属性来指向它的构造函数的protptype,他们是全等的关系,当然,那个构造函数也有一个proto对象来指向构造函数的构造函数的protptype,这就叫做JS的原型链
㈥ javascript中用prototype向原型中添加新属性和方法时这条语句可以写在函数里吗,还是说只能写在函数外
最好写在函数外,写在函数里也是可以的,需要添加内判断,如:容
var Example=function(){
if(!Example.prototype.hi){
Example.prototype.hi=function(){
alert('hello');
}
}
}
new Example().hi();