原型 - 找不到功能

时间:2015-07-24 09:17:14

标签: javascript

我有以下代码:

function Tools() { }
Tools.prototype.foobar = function() {
   return 'a';
};

alert(Tools.foobar());

此代码返回错误,找不到foobar函数。为什么会这样?它没有原型关键字。

另外,有什么区别?据我所知,我可以使用prototype关键字,而不是使用它。如果它是一个对象,我可以理解它是继承,但是这里呢?

1 个答案:

答案 0 :(得分:4)

您未在foobar上设置属性Tools,而是将其设置为Tools.prototype,这意味着它将无法在Tools上使用。如果你想在Tools上调用它,你必须在那里设置它:

Tools.foobar = function() { ... };
alert(Tools.foobar());

prototype的目的是指定函数实例需要包含哪些属性。因此,如果要访问这些属性,则应使用new关键字创建该函数的新实例。

Tools.prototype.foobar = function() { ... };
var tools = new Tools();
alert(tools.foobar());