我正在尝试解释其他人的代码并且对Javascript很新,我不能在我的生活中找到一个解释这意味着什么的Javascript教程:
var%20C = 'ABC...', a=123, b=456, ...;
什么是var%20C,它与常规var有何不同?
编辑:代码来自小书签。
答案 0 :(得分:4)
这意味着代码已被破坏。作为Kevin B said,它看起来像是部分URL编码,这不是一件好事(URL编码中的%20
=空格)。
那应该是:
var C = 'ABC...', a=123, b=456/*, ...*/;
如果您要求JavaScript引擎解释var%20C = ...
,它会抱怨:
SyntaxError: Unexpected token %
重新your comment:
如果解释了任何内容,代码来自书签。
这解释了一切!代码将在运行之前被解码,因此%20
将在JavaScript引擎看到之前变回空间。
答案 1 :(得分:1)
正如已经指出的那样,代码是url编码的。
您可以对其进行网址解码并将其转回"正常"像这样:
decodeURIComponent("var%20C = 'ABC...', a=123, b=456;");
如果您 100%确定您正在评估的字符串是可信且安全的(如果您编写它,请阅读:)您可以像这样运行它:
eval(decodeURIComponent("var%20C = 'ABC...', a=123, b=456;"));
之后,变量C
,a
和b
将被初始化。
请记住 eval
是危险的和考虑"邪恶" 当你不能100%时确保您评估的字符串是可信且安全的。