JavaScript 的字符串转换
2016-05-19 20:39
239 查看
数字、布尔值等其他数据类型都可以转换成字符串;一般来说,脚本引擎将根据上下文自动完成这样的转换。例如,当把数字或布尔型变量传给希望接收字符串变量的函数时,就会先隐式地将该数值转换成字符串,再进行处理:
此外,如果在赋值语句中要对两个变量执行加法操作,其中一个是字符串变量,而另一个是数字变量,那么数字变量就会自动转换成字符串,接着再连接这两个字符串:
什么时候将数字转换成字符串,取决于JavaScript脚本引擎在什么时候处理字符串。例如,如果字符串是序列值中的第一个,那么会把所有数值都当成字符串进行处理:
然而,如果使用其他操作符号(除了加号),那么会将字符串转换为数字:
隐式转换取决于操作符和变量的位置,这更加充分地体现了松散类型的危险:数值会随着上下文发生变化,而这取决于引入新数据类型操作的顺序,以及所引用的操作符。
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
隐式转换取决于操作符和变量的位置,这更加充分地体现了松散类型的危险:数值会随着上下文发生变化,而这取决于引入新数据类型操作的顺序,以及所引用的操作符。
相关文章推荐
- 从零开始学_JavaScript_系列(17)——dojo(6)(声明一个类declare)
- js中RGB转hex
- JavaScript中读取css样式表
- JSON解析 Gson的使用
- JSON-RPC轻量级远程调用协议介绍及使用
- JS中exec函数与match函数的区别与联系
- JavaScript:数组大全
- JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金)
- IE浏览器下javascript中的TextRabge对象解析
- js面向对象学习总结
- JavaScript DOM 中创建元素 用 setAttribute()函数设置属性值
- JavaScript DOM 中创建元素 用 setAttribute()函数设置属性值
- JavaScript DOM 中创建元素 用 setAttribute()函数设置属性值
- JavaScript DOM 中创建元素 用 setAttribute()函数设置属性值
- JavaScript DOM 中创建元素 用 setAttribute()函数设置属性值
- JavaScript DOM 中创建元素 用 setAttribute()函数设置属性值
- JavaScript DOM 中创建元素 用 setAttribute()函数设置属性值
- JavaScript DOM 中创建元素 用 setAttribute()函数设置属性值
- JavaScript DOM 中创建元素 用 setAttribute()函数设置属性值
- JavaScript DOM 中创建元素 用 setAttribute()函数设置属性值