解码Javascript变量

时间:2017-02-13 21:48:36

标签: javascript

我试图在网址中捕获值:

www.domain.com/foo/bar#/15%22|24%22

我想:15%22 | 24%22

我使用的是window.location.hash.split('#')[1],它抓取数据,然后我想对其进行解码。

var pageType = window.location.hash.split('#') [1];
return decodeURIComponent(pageType);

这将返回15" | 24"这就是我想要的。当我在Google Chrome控制台中对此进行测试时,出现了#34;非法返回语句"的语法错误....也许这不是以这种方式进行测试的正确方法。我错过了什么,还是应该以不同的方式处理?

1 个答案:

答案 0 :(得分:0)

如果您在函数内部,则只能使用return。如果你只是直接运行这些行,那么你就不在可以返回的任何行中。

您应始终使用浏览器的开发工具窗口(F12)。打开开发工具后,您可以单击“控制台”选项卡。此窗口将始终显示您的JavaScript错误,但它也可以用作写入消息以进行调试的窗口。 console.log(message)是您将消息写入该窗口的方式。如果您查看下面的示例代码,您将看到我正在向控制台写出操作结果。

此代码有效:

var test = "www.domain.com/foo/bar#/15%22|24%22";

var pageType = test.split('#')[1];

// Remove the leading slash
pageType = pageType.substr(1,pageType.length-1);

console.log(decodeURIComponent(pageType));