“\”转义符相关-js会先执行转义再执行后续操作

本文探讨了在编程中识别特殊字符“”的挑战,揭示了字符串转义机制如何影响字符识别,并通过实例展示了从HTML读取未转义字符串的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天想做一个功能用于识别地址得"/“或”",然发现识别"/“非常容易,识别” \ "却老是识别不上,

如图
在这里插入图片描述


这时太突然记起来" \ “要转义,然后满心欢喜的用上了” \ \ ",

结果如图
在这里插入图片描述

能识别上字符串的“\”,却无法识别上" \ ",


经过一番研究,导致这个问题的原因是系统先把字符串中的“ \ ”转义了,然后再做判断。
如:

var a = "a\bb\\cc"; // a实际等于“abb\cc”
a.indexOf("\\");    // 3

然后我又做了另外一番测试,从html直接读取字符串,却能识别上

html

<span id="b">\</span>

js

$("#b".html(); // "\"
var b = $("#b".html(); 
b.indexOf("\\"); // 0

结果从而得出,$("#b").html()得出的结果实际是编译后的结果,等同于上面例子编译后的"abb\cc"。为了证明我的猜想,然后试了一下,果然如此。

$("#b".html() == "\\" // true

页面会先把" \ "编译成 “” 再和编译后的结果做对比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值