javascript中原型属性的用途是啥? [复制]

Posted

技术标签:

【中文标题】javascript中原型属性的用途是啥? [复制]【英文标题】:what is the use of prototype property in javascript? [duplicate]javascript中原型属性的用途是什么? [复制] 【发布时间】:2011-11-02 04:01:04 【问题描述】:

可能重复:How does javascript .prototype work?

如果没有原型属性也可以添加到对象中,那么原型属性有什么用?

var o = ;

o.x = 5;
o.y = test;

test = new function() alert("hello"); ;

【问题讨论】:

你的最后一行没有多大意义。和原型无关,你不用new function() @pimvdb - 实际上可以 - 它是一个匿名的、立即调用的构造函数。 -1 因为这个问题问得太多了 @hvgotcodes 我不是在问什么是原型继承。我刚刚看到我也可以向这样的对象添加属性。所以问题是它与使用原型制作有什么不同。 @此外,您发布的链接与我想了解的观点不同。 【参考方案1】:

将方法/属性添加到原型就是将其添加到原型链中具有该原型的所有对象。

您的代码正在向单个实例添加方法/属性。

要使用原型,您需要使用 new 创建对象。如果您通过对象文字创建对象,则您没有指定对象的原型,据我所知,您无法追溯设置原型。

【讨论】:

【参考方案2】:

您可以使用它为现有对象创建新方法。

String.prototype.displayFirstCharacter = function()
   alert(this.substr(0,1));


"my string, first char should be 'm'".displayFirstCharacter();

【讨论】:

以上是关于javascript中原型属性的用途是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

javascript ECMAScript 6中符号的用途是啥? [复制]

JavaScript >>> 运算符的用途是啥? [复制]

JavaScript原型链污染学习记录

如果默认为 text/javascript,脚本元素的 HTML “nomodule” 属性的用途是啥?

JavaScript的主要用途是啥

页面模板定义中 addFingerPrint 属性的用途是啥?