首页 新闻 搜索 专区 学院

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 | 老鸟四级 |园豆:3759 | 2016-03-31 09:30

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

醉心 | 园豆:99 (初学一级) | 2016-03-31 09:57

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

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

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

收获园豆:4
幻天芒 | 园豆:36594 (高人七级) | 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) 贫民窟大侠 | 园豆:4270 (老鸟四级) | 2016-03-31 14:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册