繁体   English   中英

如果一切都是javascript中的“对象”,那么“创建对象”是否多余?

[英]If everything is an “object” in javascript isn't “creating objects” redundant?

根据互联网上的许多教程和人们的说法,我听说“ JavaScript中的一切都是对象”。 但是,我也很清楚“创建对象”的几种方法,例如构造函数,工厂或对象文字。

我不明白的是...如果“一切都是对象”,为什么我必须“创建一个对象”? 变量的创建不是“对象”的创建吗? 函数的创建不是对象的创建吗?

当我们说我们正在“创建对象”时,我们真正创建的是什么?

我不明白的是...如果“一切都是对象”,为什么我必须“创建一个对象”?不是创建变量就是“对象”的创建吗?

不...变量有点像事物的名称。 这就像在说:“如果我们想要一个孩子,我们已经知道我们会叫它杰米,为什么我们需要做爱?”

变量仅指向对象,而不是对象本身。 注释也不是对象。 for关键字,花括号也不是赋值运算符= 实际上,JavaScript中的大多数东西实际上不是对象。

但是,可以分配给变量的所有内容都是。 除整数外。 等号码。 和真理的价值。 还有一些我们称为“原始类型”的东西。 但是,它们的行为类似于对象(例如,可以在它们上调用方法)。 所以...不是几乎所有。

所以...当您说var a = {} ,您正在做的实际上是...

  • 创建一个空对象, {}
  • 声明一个变量a
  • 告诉变量a它应该指向该空对象。

当您说var b = a ,您说“我想拥有一个变量b ,并且我希望它指向a已经是相同的东西。这就像在说:“我们有John,就是这个人。 从那时起,您将为同一个对象使用两个名字,但是给John另一个名字并不能使另一个人成为他的名字。

首先, 不是所有的东西都是JavaScript中的对象 有六个基本类型和一个对象类型。 每条数据都必须属于这些类型之一。

其次,“对象”是一种类型,当您“创建对象”时,您正在创建该类型的修改后的副本 如果您来自更经典的面向对象编程(OOP)语言,则这类似于创建类的实例。

将其与真实示例进行比较-有些东西叫做“汽车”,那么为什么我们需要制造更多的汽车?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM