一尘不染

向JavaScript对象文字添加原型

javascript

STORE = {
item : function() {
}
};
STORE.item.prototype.add = function() { alert(‘test 123’); };
STORE.item.add();

一段时间以来,我一直在试图找出问题所在。为什么不起作用?但是,当我使用以下命令时,它可以工作:

STORE.item.prototype.add();

阅读 320

收藏
2020-05-01

共1个答案

一尘不染

原型对象应在构造函数上使用,基本上是将使用new运算符调用的函数来创建新的对象实例。

JavaScript中的函数是一类对象,这意味着您可以向其添加成员并将其像普通对象一样对待:

var STORE = {
   item : function() {
  }
};

STORE.item.add = function() { alert('test 123'); };
STORE.item.add();

如前所述,原型对象的典型用法是通过使用new运算符调用构造函数来实例化对象,例如:

function SomeObject() {} // a constructor function
SomeObject.prototype.someMethod = function () {};

var obj = new SomeObject();

SomeObject的所有实例都将从继承成员SomeObject.prototype,因为这些成员将通过原型链进行访问。

JavaScript中的每个函数都有一个原型对象,因为无法知道打算将哪些函数用作构造函数。

2020-05-01