Javascript:var%20C与常规var相比意味着什么
Javascript: What does var%20C mean compared to a regular var?
我正在尝试解释别人的代码,而且我对Javascript非常陌生,我一辈子都找不到解释这意味着什么的Javascript教程:
var%20C = 'ABC...', a=123, b=456, ...;
var%20C是什么?它与常规var有何不同?
编辑:代码来自小书签。
这意味着代码已经损坏。正如Kevin B所说,它看起来是部分URL编码的,这不是一件好事(URL编码中的%20
=一个空格)。
应该是:
var C = 'ABC...', a=123, b=456/*, ...*/;
如果你让JavaScript引擎解释var%20C = ...
,它会抱怨:
SyntaxError: Unexpected token %
回复您的评论:
如果可以解释的话,代码来自bookmarklet。
这就解释了一切!代码将在运行前进行解码,因此%20
将在JavaScript引擎看到它之前返回到一个空间。
如前所述,代码是url编码的。
你可以对其进行url解码,然后将其恢复为"正常",如下所示:
decodeURIComponent("var%20C = 'ABC...', a=123, b=456;");
如果您100%确信正在评估的字符串是可信和安全的(读:如果您编写了它),您可以这样运行它:
eval(decodeURIComponent("var%20C = 'ABC...', a=123, b=456;"));
之后,变量C
、a
和b
将被初始化。
但请记住,eval
是危险的,当您不能100%确定正在评估的字符串是否可信和安全时,被视为"邪恶"。
相关文章:
- 这个问号在Flow中意味着什么:“;?()=>“无效”;
- 在递归生成器函数中,yield后面的*(星号/星号)语法意味着什么
- 在jQuery中使用$('body').html('')意味着什么
- webkitTransition,这对使用Jquery的CSS-3意味着什么
- Javascript:var%20C与常规var相比意味着什么
- “{}”在下面的函数中这意味着什么
- 两个数组索引一个接一个地放置时意味着什么
- 双括号在javascript中意味着什么以及如何访问它们
- 这个文档语法在MDN中对JavaScript函数意味着什么
- 这个表达式在JavaScript中意味着什么:if(special_validations中的$(element).at
- 可变键控集合在javascript中意味着什么
- 排除符号链接的npm警告意味着什么
- 光骨头在计算机领域意味着什么
- 用JavaScript中的+添加到innerHTML意味着什么
- 跨领域意味着什么?JSONP在这种情况下的立场是什么
- 将变量={}传递到函数中意味着什么
- 在 JavaScript 中,当一个变量用逗号分隔的 3 个不同名称声明时,这意味着什么?
- 当使用JavaScript时“未定义”某些内容时,这意味着什么?
- 使用Javascript实用程序意味着什么
- 是什么让这两个功能分别是“公共”和“私有”,这意味着什么?