变量可以像对象一样对待吗?

ric*_*ana 2 javascript

这是我很困惑的事情.

我可以完美地定义这样的对象:

var person = {};
Run Code Online (Sandbox Code Playgroud)

并使用点符号来分配属性,但是我看到了这样一个简单的定义:

var person;
Run Code Online (Sandbox Code Playgroud)

然后使用

person.setName = 'Some cool name';
Run Code Online (Sandbox Code Playgroud)

即使没有声明为对象方式,Javascript是否将其视为对象?或者那是别的什么?

Fel*_*ing 11

即使没有声明为对象方式,Javascript是否将其视为对象?

对象是,变量是值的容器.未初始化变量的默认值为undefined:

var person;
// same as
var person = undefined;
Run Code Online (Sandbox Code Playgroud)

undefined不是一个对象,不能被视为对象.您发布的代码会引发错误.

> var person;
> person.setName = 'Some cool name';
Uncaught TypeError: Cannot set property 'setName' of undefined(…)
Run Code Online (Sandbox Code Playgroud)