首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript Escape (\x) +变量,

Javascript Escape (\x) +变量,
EN

Stack Overflow用户
提问于 2016-02-03 21:26:01
回答 2查看 2.2K关注 0票数 1

一直在玩Javascript,并发现了转义(\x),这似乎很有趣。

为了澄清,我发现我可以用转义+ x将两个数字转换成一个字母,

"\x51"一样,输出是Q

一直在寻找这个特定的话题,但我不知道从哪里开始,因为我甚至不知道他们怎么称呼它,就像我知道在PHP和Javascript中反斜杠的用途,但我不知道它与x结合时会做什么

现在我的问题是,是否可以在X之后添加一个动态数字值?

就像我试图创建这样一个函数,但这似乎是不可能的,因为它看起来需要在x之后有两个字符(数字或字母)。

代码语言:javascript
复制
function __num_string( num ) {
    return "\x"+num;
}

__num_string( 51 )将返回Q

reality Uncaught SyntaxError: Unexpected token ILLEGAL

如果可能的话,我很感谢你的澄清,

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-03 21:28:00

是的,这是可能的,但是有一个更好的方法

代码语言:javascript
复制
return String.fromCharCode(num);

..。其中num是您想要得到的字符的Unicode值。

不过,从技术上讲,使用eval实现您的函数是可能的

代码语言:javascript
复制
function __num_string( num ) {
   if (/^[a-f0-9]{1,2}$/i.test(num)) { 
     return eval('"\\x' + num + '"');
   }
}

注意:num应该是一个表示十六进制值的字符串。

关于你的错误:这个..。

代码语言:javascript
复制
'\x'

..。在技术上是无效字符串。解析字符串文字时,解析器期望序列\x后面跟着[0-9a-f]字符范围。然而,在您的例子中,没有类似的地方,因此Unexpected token ILLEGAL

票数 3
EN

Stack Overflow用户

发布于 2016-02-03 21:27:56

字符串转义是一个语法特性,是字符串文字的一部分。

在运行时这样做是没有意义的。

你要找的是String.fromCharCode,它的功能和听起来完全一样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35188026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档