A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

JavaScript 的字符串类型和数值类型之间的区别不是很明显。
例如,在下面的脚本中,"2"是字符串,而2是数值类型,因此应该返回false,但是在JavaScript 1.2以为的版本中都返回true。
<script language="JavaScript">
<!--
document.write("2"==2)
//-->
</script>
此时要注意的是,在JavaScript 1.2中,字符串类型和数值类型是有明显区别的。
例如,下面的这个脚本就返回为false值。
<script language="JavaScript1.2">
<!--
document.write("2"==2)
//-->
</script>
但是,在JavaScript 1.2中也有像下面的例子这样,给字符串设置的是-0,但是与其他版本的JavaScript一样,返回值也是false。
<script language="JavaScript 1.2">
<!--
document.write("2"-0==2)
//-->
</script>
虽然在JavaScript 1.2中明确区分了字符串类型和数值类型,但是到了JavaScript 1.3以后的版本中,又像以前版本的JavaScript一样不做区分了。
<script language="JavaScript 1.3>
<!--
document.write("2"==2)
//-->
</script>

这是由于它与ECMAScript统一样式而造成的。
在JavaScript1.3以后的版本中,如果想像JavaScript 1.2 那样区分字符串和数值类型,进行比较是,要使用JavaScript 1.3 中新添加的运算符“===”和“!==”。
例如,像下面的例子这样,使用“===”来比较值,就可以如JavaScript 1.2那样,明确区分字符串类型和数值类型,从而返回false值。
<script language="JavaScript1.2">
<!--
document.write("2"===2)
//-->
</script>





评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马