js prototype是什么 JavaScript里面的prototype是什么意思?

JavaScript\u91cc\u9762\u7684prototype\u662f\u4ec0\u4e48\u610f\u601d\uff1f\u600e\u4e48\u7528\uff1f\u80fd\u4e3e\u4e2a\u4f8b\u5b50\u5417\uff1f

\u7ffb\u8bd1\u4e00\u4e0b\u662f\u539f\u578b\u7684\u610f\u601d~\u4e5f\u5c31\u662f\u8bf4\u662fJS\u5bf9\u8c61\u7684\u539f\u578b\uff0c\u4e00\u822c\u7528\u6765\u6269\u5c55\u539f\u578b\u7684\u65f6\u5019\u7528~\u6216\u8005\u7528\u5230\u539f\u578b\u94fe\u5f0f\u7684\u7ee7\u627f\u4e0a\u53bb~\u4e3e\u4e2a\u4f8b\u5b50\uff1a
\u58f0\u660e\u4e00\u4e2a\u5bf9\u8c61var abc=function(){
this.name="\u5c0f\u660e";

}
abc\u73b0\u5728\u662f\u4e00\u4e2a\u5bf9\u8c61\uff08\u51fd\u6570\u4e5f\u662f\u5bf9\u8c61\u7684\u4e00\u79cd\uff09\uff0c\u7136\u540e\u6211\u4eec\u6269\u5c55\u4e00\u4e0b\u8fd9\u4e2a\u5bf9\u8c61\uff0c\u7ed9\u5b83\u4e00\u4e2a\u65b9\u6cd5\uff1a
abc.prototype.say=function(){
alert(this.name);

}
\u8fd9\u6837\u5c31\u6269\u5c55\u4e86\u539f\u6765\u7684\u51fd\u6570\u5bf9\u8c61\u4e86~\u662f\u7528\u7684\u65f6\u5019\u76f4\u63a5var a=new abc();
a.say();\u5c31\u4f1a\u5f39\u51fa\u5c0f\u660e\u6765\u4e86\u3002\u8fd9\u4e48\u505a\u7684\u597d\u5904\u662f\u4e0d\u4f1a\u989d\u5916\u4ea7\u751f\u5185\u5b58\uff0c\u6240\u6709\u5b9e\u4f8b\u5316\u540e\u7684\u5bf9\u8c61\u90fd\u4f1a\u4ece\u539f\u578b\u4e0a\u7ee7\u627f\u8fd9\u4e2a\u65b9\u6cd5\u3002
\u81f3\u4e8e\u539f\u578b\u94fe\u7ee7\u627f\u7684\u8bdd\u4f60\u53ef\u4ee5\u53bb\u641c\u4e00\u4e0b\u6211\u5c31\u4e0d\u4e3e\u4f8b\u5b50\u4e86~\u4e0d\u61c2\u7684\u8bdd\u53ef\u4ee5\u518d\u95ee\u6211~

prototype\u662f\u539f\u578b\u7684\u610f\u601d,\u4e5f\u5c31\u662fJS\u5bf9\u8c61\u7684\u539f\u578b,\u4e00\u822c\u7528\u6765\u6269\u5c55\u539f\u578b\u7684\u65f6\u5019\u7528.
prototype\u662f\u4e00\u4e2a\u5c5e\u6027,\u6240\u6709\u7684\u51fd\u6570\u90fd\u6709,\u8fd9\u4e2a\u5c5e\u6027\u5f15\u7528\u4e86\u4e00\u4e2a\u5bf9\u8c61.prototype\u5bf9\u8c61\u662f\u5b9e\u73b0\u9762\u5411\u5bf9\u8c61\u7684\u4e00\u4e2a\u91cd\u8981\u673a\u5236.\u6bcf\u4e2a\u51fd\u6570\u90fd\u662f\u4e00\u4e2a\u5bf9\u8c61,\u5b83\u4eec\u5bf9\u5e94\u7684\u7c7b\u5c31\u662ffunction,\u6bcf\u4e2a\u51fd\u6570\u5bf9\u8c61\u90fd\u5177\u6709\u4e00\u4e2a\u5b50\u5bf9\u8c61prototype,prototype\u8868\u793a\u4e86\u8be5\u51fd\u6570\u7684\u539f\u578b.

prototype是一个属性,所有的函数都有,这个属性引用了一个对象,即原型对象,简称原型。所以大多数把prototype之间叫原型。

通过原型可以实现方法或者属性扩充

比如

function A(){
}
A.prototype.show=function(){//扩充函数A的方法show
   alert('1');
}

实现原型链方式的继承。

function B(x,y){
   this.y = y;
 }
 B.prototype = new A();//这是b也有show方法


代表方法A的对象以及所有用方法A初始化的对象都有一个prototype属性,指向同一个原型prototypeA;
而prototypeA有一个constructor属性,指向代表方法A的对象。

通过new运算符创建的对象,构造函数.prototype的值就是该对象的原型对象。

var now = new Date();

如上代码,now对象的原型对象就是Date.prototype。



原型链,仅此而已.

用来实现面向对象的继承

扩展阅读:16personality ... 16personalities官网 ... xbox series x ... missing prototype ... paperpass免费入口 ... www.paperpass.com ... java windowbuilder ... 16personalities测试 ... js中prototype和 proto ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网