gpt4 book ai didi

Javascript - 为什么方法变量在回调中仍然存在?

转载 作者:行者123 更新时间:2023-12-03 21:19:54 27 4
gpt4 key购买 nike

假设您有 [ Fiddle ]

function TestMethod() {
var lifespan = "blah";

$.ajax({
url: "http://www.google.com",
success: function (data) {
alert(lifespan);
},
error: function (errorData) {
alert(lifespan);
},
dataType: 'html'
});
}

为什么当回调触发时 lifespan 仍然存在?还有什么通过异步调用持续存在?是什么让这种情况发生,是否有某种“运行时”,如果你愿意,在 javascript 中让代码在这个过程中保持事件状态?如果是这样,它什么时候知道什么时候开始让内存项消亡?

最佳答案

Javascript 具有函数作用域,而不是像 C、C++、C#、PHP 和 Java 那样的 block 作用域(大括号)。

这是 jsFiddle 示例 -

http://jsfiddle.net/Wrz6X/

关于Javascript - 为什么方法变量在回调中仍然存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666072/

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