下面代码中的 pastPath 变量让我感到困惑。我通常使用 C# 和 MVC,这当然意味着我使用 HTML、JavaScript 和 JQuery 以及其他相关的 Web/移动技术。
当我运行此代码并单击 .moreBtn pastPath 报告时,它会按照我的意图设置为 URL。然而,当我尝试使用 .backBtn 来设置 URL 并强制我的浏览器返回上一页时,我得到的不是过去路径未定义,或者它被设置为 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;
});
});
谢谢你的帮助。