何时使用Javascript对象字面量?

7

在JavaScript中应该何时使用对象字面量?有时,我会感到困惑,我试图将面向对象的概念和模式应用到这种语言中。我想要避免仅使用过程式编程概念,因为我知道这种语言具有惊人的能力。


1
JS字面量是“值”类型。它们是对象,而不是函数,并且没有原型。在JS中,经典的OOP模式只是原型继承的变形(以最友好的方式表示),这可能是您困惑的地方。当然,字面量可以用于增强函数或分配给原型,但通常情况下,如果您将JS字面量视为值或参数,而不是类型/类,则会很好。 - Sky Sanders
4个回答

11

对象字面量最常用于以下两种情况:

  • 作为一种关联数组类型;
  • 作为向函数传递多个参数的一种方式。

第二个用法在像jQuery这样的库中尤为重要和常见。

这是它们常用的方式。至于何时应该使用它们,这是一个难以回答的问题,因为这有点像询问何时应该使用数组。对象字面量只是一个工具。它们是达到目的的手段,并不是目标本身。

您发帖的潜台词表明您试图将一些非JavaScript概念植入JavaScript中。我经常看到这种情况(特别是当人们试图在PHP中使所有东西都变成OO时),JavaScript有其自身的优势和劣势。发挥其长处,不要试图让它变成不是它本身的东西。


3

一个常见的错误是人们将OO与经典语言设计混淆。当涉及到JavaScript时,你真的不想从类的角度来思考,而是要从函数、鸭子类型和原型的角度来思考。


2

这可能显而易见,但JavaScript对象字面量也常用于与其他系统进行数据交换。毕竟,JSON只是JavaScript对象字面量语法的子集。


0

对象字面量在JSON中也扮演着重要的角色。需要注意的是,JSON是与语言无关的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接