当前位置: 首页 > 面试题库 >

向JavaScript对象文字添加原型

袁泰平
2023-03-14
问题内容

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

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

STORE.item.prototype.add();

问题答案:

原型对象应在构造函数上使用,基本上是将使用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中的每个函数都有一个原型对象,因为无法知道打算将哪些函数用作构造html" target="_blank">函数。



 类似资料:
  • 问题内容: 假设我有一个对象 如何通过添加方法扩展该对象,并确保将来的实例具有此方法? 问题答案: 您需要将其添加到Foo的原型中:

  • 问题内容: 令我惊讶的是,JavaScript的Date对象没有实现任何类型的add函数。 我只是想要一个可以做到这一点的函数: 我只是希望有一个方向的指针。 我需要进行字符串解析吗? 我可以使用setTime吗? 毫秒呢? 像这样: 不过,这似乎确实很骇人-甚至行得通吗? 问题答案: JavaScript本身具有可怕的日期/时间API。尽管如此,您仍可以使用纯JavaScript进行此操作:

  • 我正在尝试执行以下操作以满足代码构建器的要求(具体来说是Sencha Cmd)。 这是我需要做的本质。关键因素是函数体必须以返回对象文字结束。由于生成器中的限制,我无法返回变量。那么,如果参数includeB为true,如何在下面的伪代码点添加属性“b”,但如果为false,则根本不添加属性。不允许ie b==未定义或b==null。 也许这是不可能的。 感谢阅读和考虑, 默里

  • 我需要填充一个json文件,现在我有如下内容: 我需要添加另一个“元素”。我的第一步是使用,现在我需要添加新元素。我想我必须使用添加另一个元素,我尝试了以下方法: 但是当我尝试做时,我得到了错误"对象没有方法推送",我认为我做了一些非常错误的事情,因为我没有告诉任何地方的"元素"。 我该怎么做? 编辑:对不起,我脑子里有很多困惑。 我认为从,但我首先得到了我在JSON中输入的内容。 用数组代替对象

  • 问题内容: 这件事困扰了我一段时间。我为什么不能做: …虽然我可以执行以下操作? 这是什么规则?您能给我介绍一下吗? 问题答案: 您可以向具有的任何对象添加属性。 例如,没有它。 字符串和其他简单的内置对象也没有它。 使用类也没有它。 除非前面的声明适用,否则用定义的类都具有它。 如果使用/的对象没有/ ,通常是为了节省空间。例如,如果有一个命令,那就太过分了- 想象一下一个非常短的字符串的膨胀程

  • 问题内容: 在Ruby中,您可以使用自定义方法覆盖任何内置对象类,如下所示: 我如何在python中做到这一点?有正常的方法还是黑客? 问题答案: 您不能这样做,因为内建类型是用C编码的。您可以对类型进行子类化: 测试: 您还可以使用来覆盖str-type ,但这并不意味着您可以使用文字,因为它链接到内建的。