JavaScript原型

时间:2010-08-05 00:59:49

标签: javascript prototype

  

可能重复:
  JavaScript: Class.method vs. Class.prototype.method

创建这样的原型之间有什么区别:

Date.foo = function(bar) {
    alert(bar);
};

而且:

Date.prototype.foo = function(bar) {
    alert(bar);
};

为什么/何时使用?

1 个答案:

答案 0 :(得分:2)

在第一个例子中,foo是一个构造函数方法,它就像java中的'static'方法。第二种方法就像在类上定义方法foo一样 - 它的范围是实例。

您可以访问第一个

Date.foo()

和第二个

Date d = new Date()
d.foo() 

或在日期实例上的另一种方法

this.foo()