首页 新闻 会员 周边 捐助

js字符串输出的问题,感觉很邪门!

0
悬赏园豆:5 [已解决问题] 解决于 2016-04-06 10:40
  $(function () {
 
          var   x= "\3";   
 
        var   y = $("#hid").val();
            alert(x);//输出空串 “”
            alert(y);//输出原值 "\3"
      //为什么结果会不一样呢????  是我基础太薄弱啦?望解惑!!!!
    
 
        });
<input type="hidden"  id="hid" value="\3"/>
隔壁老王来了的主页 隔壁老王来了 | 初学一级 | 园豆:99
提问于:2016-03-31 09:19
< >
分享
最佳答案
0

要讓x輸出"\3",在賦值的時候應該是"\\3"

反斜線是跳脫字元,把3給跳脫了

element的value不適用反斜線的跳脫規則,所以可以輸出"\3"

收获园豆:1
RosonJ | 老鸟四级 |园豆:4910 | 2016-03-31 09:30

$("#hid").val() 这个出来后就是个普通字符串 和element没关系吧  它咋不转义呢

隔壁老王来了 | 园豆:99 (初学一级) | 2016-03-31 09:57

@醉心: 这个已经是转义好了的哇。

幻天芒 | 园豆:37207 (高人七级) | 2016-03-31 23:00
其他回答(1)
0

\比较特殊,是转移的标识,在代码中写\3,就会被转义。如果要输出\3,就需要'\\3'

收获园豆:4
幻天芒 | 园豆:37207 (高人七级) | 2016-03-31 09:38

为什么$("#hid").val()这个字符串不转义

支持(0) 反对(0) 隔壁老王来了 | 园豆:99 (初学一级) | 2016-03-31 09:57

@醉心: because  are you input  value。 .val()  get  value is decode value.

支持(0) 反对(0) 大楚打码人 | 园豆:4313 (老鸟四级) | 2016-03-31 14:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册