【问题标题】: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 我不是在问什么是原型继承。我刚刚看到我也可以向这样的对象添加属性。所以问题是它与使用原型制作有什么不同。
  • @此外,您发布的链接与我想了解的观点不同。

标签: javascript prototypal-inheritance


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    String.prototype.displayFirstCharacter = function(){
       alert(this.substr(0,1));
    }
    
    "my string, first char should be 'm'".displayFirstCharacter();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 1970-01-01
      • 2021-10-09
      • 2012-04-18
      • 2019-08-27
      相关资源
      最近更新 更多