gpt4 book ai didi

javascript - 对 javascript/jquery 变量范围感到困惑

转载 作者:行者123 更新时间:2023-11-30 08:08:06 25 4
gpt4 key购买 nike

下面代码中的 pastPath 变量让我感到困惑。我通常使用 C# 和 MVC,这当然意味着我使用 HTML、JavaScript 和 JQuery 以及其他相关的网络/移动技术。

当我运行此代码并单击 .moreBtn pastPath 报告时,它被设置为我想要的 URL。然而,当我尝试使用 .backBtn 设置 URL 并强制我的浏览器返回上一页时,我发现 pastPath 未定义,或者它被设置为 hello。

我知道我在理解这里的范围时遇到了问题。我已阅读有关 JavaScript 范围的文章,但我想知道是否有人可以解决此问题并解释我如何将我的 URL 从第一个函数获取到第二个函数。

稍后我会阅读更多关于 JavaScript 范围的内容,但它与大多数其他语言的范围似乎非常不同,我目前没有时间仔细研究它。

$(document).ready(function ()
{
pastPath = "hello";

$(".moreBtn").click(function ()
{
var controller = $(".moreBtn").data('ctrl');
var action = $(".moreBtn").data('action');
loc = GetPathDetails("full"); //This simply returns the part of the URL I need.
pastPath = loc;
alert(pastPath);
var fullPath = loc + "/" + controller + "/" + action;
window.location = fullPath;
});

$(".backBtn").click(function ()
{
alert(pastPath);
//window.location = pastPath;
});

});

感谢您的帮助。

最佳答案

.moreBtn 单击会更改页面,因此您存储在 pastPath 中的任何数据都将丢失。

看看 dom 存储,https://developer.mozilla.org/en-US/docs/DOM/Storage

关于javascript - 对 javascript/jquery 变量范围感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14519817/

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