javascript - 访问对象(基本)

标签 javascript object

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

console.log(jon.name)

控制台会给我输出“jon”。到目前为止,一切都很好。

运行代码并在控制台中输入后

jon.name

我期望得到“jon”结果,但控制台显示 jon 未定义。有人可以解释一下为什么吗?

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

最佳答案

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在控制台中,您将找到该对象,因为它现在是全局范围的一部分。

关于javascript - 访问对象(基本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43428820/

相关文章:

javascript - 使用中文作为对象的关键字

c++ - 如果有对象被创建为另一个类的数据成员,如何将值传递给参数化的构造函数?

C++ 对象数组。一个元素访问数组中另一个元素的方法

javascript - 编译 Solidity 错误 - RangeError : Maximum call stack size exceeded

javascript - 如何销毁数据表

javascript - 在 Google AppMaker 中播放 .mp3 或 .gif 文件

javascript - Woocommerce 通过 JS 更改产品变体

javascript - if-URL-exists 使用 JavaScript 检查

object - 在 DDD 中定义多对多关系

javascript - 无法从 javascript 书中理解这些示例,好的部分