Javascript中的Null终结者

时间:2014-06-06 15:06:14

标签: javascript

我是ASP.net和JaveScript的新手,所以我希望有人可以帮助我。我正在浏览其他人的代码并且基本上有这样的东西(我知道这不是有意义的,但它只是为了演示字符串):

<script type="text/javascript" language="javascript">

  function onOK()
  {
      var text = "CanSeeThis\0ChromeSeesThisIEdoesnot";
  }  
</script>

所以我注意到上面会产生从Chrome到IE的不同结果。在IE中\ 0结束字符串,在Chrome中没有,所以我们得到的文本结果非常不同。我无法理解为什么会这样?这不是标准的空终止字符吗?

谢谢, 理查德

1 个答案:

答案 0 :(得分:2)

  

这不是标准的空终止字符吗?

不在JavaScript中,不,JavaScript strings不使用终止字符。 (如果一个实现在封面下这样做,它必须保留在封面下,在使用字符串时一定不明显,因为这违反了规范。)\0只是另一个字符(Unicode character 0)就JavaScript而言。

如果您看到输出在该点被截断,则它可能已按原样传递到使用空终止字符串的C约定的相关软件(IE,Windows)的某个层。这可能是一个错误,但我希望如果你报告它,它的修复优先级非常低。 : - )