我是ASP.net和JaveScript的新手,所以我希望有人可以帮助我。我正在浏览其他人的代码并且基本上有这样的东西(我知道这不是有意义的,但它只是为了演示字符串):
<script type="text/javascript" language="javascript">
function onOK()
{
var text = "CanSeeThis\0ChromeSeesThisIEdoesnot";
}
</script>
所以我注意到上面会产生从Chrome到IE的不同结果。在IE中\ 0结束字符串,在Chrome中没有,所以我们得到的文本结果非常不同。我无法理解为什么会这样?这不是标准的空终止字符吗?
谢谢, 理查德
答案 0 :(得分:2)
这不是标准的空终止字符吗?
不在JavaScript中,不,JavaScript strings不使用终止字符。 (如果一个实现在封面下这样做,它必须保留在封面下,在使用字符串时一定不明显,因为这违反了规范。)\0
只是另一个字符(Unicode character 0)就JavaScript而言。
如果您看到输出在该点被截断,则它可能已按原样传递到使用空终止字符串的C约定的相关软件(IE,Windows)的某个层。这可能是一个错误,但我希望如果你报告它,它的修复优先级非常低。 : - )