访问对象(基本)

时间:2017-04-15 17:03:38

标签: javascript object

我有一个关于对象的(很可能是简单和笨拙的)问题。我创建了实例“Person”的对象“jon”。当我打电话

console.log(jon.name)

控制台会给我“jon”。到现在为止还挺好。

运行代码并输入控制台本身后

jon.name

我希望得到“jon”,但是控制台告诉我jon是未定义的。有人能解释我为什么吗?

这是一段代码: https://jsfiddle.net/Fasyx/w0q1rqh0/

1 个答案:

答案 0 :(得分:1)

jsfiddle中的代码在另一个函数或某种类型的发送框的范围内运行,这就是变量jon在全局范围内不可用的原因。

如果您使用<script>标签创建简单的html文件,并在浏览器中打开它,您将获得您期望的行为:

<script>
    var Person = function(name, age) {
        this.name = name;
        this.age = age;
    }

    var jon = new Person("jon", 24);
    console.log(jon.name + " " + jon.age)
</script>

如果您在控制台中访问jon,您将找到该对象,因为它现在是全局范围的一部分。