【JavaScript】(一)类型转换

JS支持自动类型转换,其功能非常强大,首先看一段代码:

<script type="text/javascript">
	// 定义字符串变量
	var a = "3.145";
	// 让字符串变量和数值执行算术运算
	var b = a - 2;
	// 让字符串变量和数值执行运算,到底是算术运算,还是字符串运算呢?
	var c = a + 2;
	// 输出b和c的值
	alert (b + "\n" + c);
</script>

结果如下:

         

由此可见执行减法运算的时候,自动执行算术运算,但是执行加法运算的时候,默认将“+”作为连接符,它的转换规律如下:

  • 对于减号运算符,因为字符串不支持减法运算,所以系统自动将字符串转换成数值。
  • 对于加号运算符,因为字符串可用加号作为连接运算符,所以系统自动将数值转换成字符串,并将两个字符串进行连接运算。

自动类型转换虽然方便,但是可读性差,JS提供了以下几个函数来执行强制类型转换:

  • toString():将布尔值、数值等转换成字符串;
  • parseInt(): 将字符串、布尔值等转换成整数;
  • paraFloat(): 将字符串、布尔值等转换成浮点数;
  • 字符串值:如果字符串是数值字符,则可以转换成数值,否则将转换成NaN;
  • undefined、null、布尔值及其他对象:一律转换成NaN.

注:使用toString()函数将各种类型的值向字符串转换时,结果全是object,因为语法是object.toString()。

<script type="text/javascript">
	// 定义值为3.145的字符串变量
	var a = "3.145";
	// 直接相加,使用自动类型转换。
	var b = a + 2;
	var c = 6.25;
	// 使用强制类型转换
	var d = toString(c);
	var e = c.toString();
	var f = parseFloat(a) + 2;
	alert (b + "\n" + d + "\n"+ e  + "\n"+ f);
</script>

                  

猜你喜欢

转载自blog.csdn.net/qq_35768238/article/details/80332656