JavaScript 的字符串转换

时间:2023-01-01 06:50:35

  数字、布尔值等其他数据类型都可以转换成字符串;一般来说,脚本引擎将根据上下文自动完成这样的转换。例如,当把数字或布尔型变量传给希望接收字符串变量的函数时,就会先隐式地将该数值转换成字符串,再进行处理:

var num_value=35.00;
alert(num_value); //预期为一个字符串

此外,如果在赋值语句中要对两个变量执行加法操作,其中一个是字符串变量,而另一个是数字变量,那么数字变量就会自动转换成字符串,接着再连接这两个字符串:

var num_value=35.00;
var string_value="This is a number: "+num_value;

什么时候将数字转换成字符串,取决于JavaScript脚本引擎在什么时候处理字符串。例如,如果字符串是序列值中的第一个,那么会把所有数值都当成字符串进行处理:

var strValue="4" + 3 + 1;  //结果是 “431”
var strValue=4 + 3 + “1” ; //结果是 71

然而,如果使用其他操作符号(除了加号),那么会将字符串转换为数字:

var firstResult="35" - 3;  //减法操作,结果是 32
var secondResult= “3”*3 ; //乘法操作,结果是 9
var thirdResult=30/ “3” ; //除法操作,结果是 10

隐式转换取决于操作符和变量的位置,这更加充分地体现了松散类型的危险:数值会随着上下文发生变化,而这取决于引入新数据类型操作的顺序,以及所引用的操作符。