[size=small][code="javascript"]
var s1 = '\x61\x62\x63';
var s2 = document.getElementById('text1').value; // 文本框里的值是\x61\x62\x63 跟s1是一样的
// s1输出的是abc 让我想s2应该也是abc 但是他输出的是\x61\x62\x63 没有自动转,那为什么s1会自动转了呢?
alert(s1 == s2); // 结果是false
// 这个问题有什么好办法决绝没 我想让var s2 = document.getElementById('text1').value;的值也自动转成abc 怎么办? 谢谢大家了
[/code][/size]
[code="html"]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
这个方法测试通过,不信你自己看看
s2不是abc,
而是\x61\x62\x63 事实上文本框中的内容已经被转义了
输入什么 内容就是什么
S1定义的时候是默认转换成char类型,而S2默认转换成String类型。
也就是说
[code="java"]char s1='\x61\x62\x63';
String s2="\x61\x62\x63"[/code]
输出结果当然就不一样了.
解决方法我还没有想到,不好意思。
[code="javascript"]
var s1 = '\x61\x62\x63';
var s2 = eval("'"+document.getElementById('text1').value+"'");
[/code]
这么做有点牵强感觉,但是能实现你想要的效果.