gpt4 book ai didi

javascript - 为什么当我执行 console.log 时,函数中的对象返回为 'undefined' ? (了解创建阶段、执行阶段)

转载 作者:行者123 更新时间:2023-11-28 04:25:31 25 4
gpt4 key购买 nike

我试图理解执行上下文、创建阶段和执行阶段。

我想知道,有人可以帮我理解为什么吗

console.log(thisFunction.ojbect1);

返回 - '未定义'。

我本以为,在创建阶段之后,当变量被分配为“未定义”时,就会运行执行阶段,然后用对象填充变量。

那么为什么我得到“object1”的“未定义”,而不是整个对象?

非常感谢。代码如下。

var thisFunction = function(){
var object1 = {
firstname: 'Mark',
printName: function(){
console.log(this.firstname);
}
};

object1.printName();
};

thisFunction();
console.log(thisFunction.object1);

最佳答案

“Object1”不是“thisFunction”的属性,这就是为什么你不能调用它。 “Object1”是在“thisFunction”范围内创建的变量。

您只能访问父作用域的变量。

如果您想了解有关函数作用域的更多信息,这里有一些有趣的读物。

关于javascript - 为什么当我执行 console.log 时,函数中的对象返回为 'undefined' ? (了解创建阶段、执行阶段),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45100055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com