我有一个关于对象的(很可能是简单而愚蠢的)问题。我创建了实例“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/