问题 什么是javascript原型对象的实际用例?


你是如何在日常代码中使用javascript原型对象的?我发现很难解释或找到它的用例。

目的驱动的例子和伪代码示例会很棒 - 谢谢!


9624
2017-09-13 17:59


起源

我不确定你的意思。整个语言是围绕原型的使用而设计的。 - ChaosPandion
您是否要求使用原型的示例,其中类无法正常工作? - strager


答案:


这是一个非常简单的例子。如果String有一个trim()函数,你可以做到这一点,这不是很好吗?

var x = "   A B C  ";
var y = x.trim();  // y == "A B C"

嗯,它可以。只需将其放在代码的开头:

if (!String.prototype.trim) {
  String.prototype.trim = function() {
    try {
      return this.replace(/^\s+|\s+$/g, "");
    } catch (e) {
      return this;
    }
  };
}

14
2017-09-13 18:09



我想这是一个很好的答案,但每次定义一个函数时,你都在使用Function原型对象。 - ChaosPandion
@ChaosPandion,每次创建一个对象(包括一个函数)时,你都在使用Object对象...... - strager
这是一个很好的例子,但我想不出try / catch块的任何用途。如果reg exp literal会抛出错误,try关键字也会抛出错误。 - kennebec
我同意@kennebec;为什么要打电话? - strager
很棒的答案!现在我立即看到它是如何有用的。您是否有另一个示例,您使用自己的类(而不是String类),或者您正在应用继承? - ming yeow