JavaScript中对象和对象之间的区别

Roh*_*t P 4 javascript

在以下代码中: -

 var x = { } ;
    console.log(typeof x);             // o/p is object
    console.log(x instanceof Object ); //o/p is true
Run Code Online (Sandbox Code Playgroud)

如果我在最后一行使用" object "而不是" Object ",我会收到一个错误.为什么第二行的o/p是带有小写"o"的对象

Ste*_*hen 7

因为没有"对象"这样的东西.Typeof不会为您提供类 - 它会返回原始类型.例如,typeof "string"返回"string".

'Object'是一个对象'primitive'的构造函数 - 所以a new Object给你一个'对象'来处理..但不要指望能够创建一个'新对象',因为'对象'没有作为构造函数存在.


I H*_*azy 5

您会收到错误消息,因为您尚未定义名为 的变量object。尝试读取尚未声明的变量是ReferenceError

Object变量是环境本机的,并且被预定义为普通对象的构造函数。这就是为什么当你这样做时它会起作用instanceof Object。JavaScript 中的每个原生对象都是Object.


Tho*_*mas 5

JavaScript 区分大小写,“对象”本质上是一个可以保存任何内容的变量。“Object”是一个实际的 JavaScript 类型。