JavaScript的隐式类型转换
2016-03-26 21:40
525 查看
一、JavaScript的数据类型弱类型,在使用算术运算符时,运算符两边的数据类型可以是任意的,比如,一个字符串可以和数字相加。之所以不同的数据类型之间可以做运算,是因为JavaScript引擎在运算之前会悄悄的把他们进行了隐式类型转换的,如下是数值类型和布尔类型的相加:
1+true;//2
二、比如-, *, /,和%等算术运算符都会把操作数转换成数字的,但是“+”号就有点不一样了,有些情况下,它是算术加号,有些情况下,是字符串连接符号,具体的要看它的操作数,如下:
2+1;//3
“hello”+“world”;//hello
world
但是,如果字符串和数字相加,会是怎样的结果呢?JavaScript会自动把数字转换成字符的,不管数字在前还是字符串在前;
需要注意的是,“+”的运算方向是从左到右的,如下:
3+4+“2”;//72
三、我们可以通过函数判断是否NaN,如下:
1+true;//2
二、比如-, *, /,和%等算术运算符都会把操作数转换成数字的,但是“+”号就有点不一样了,有些情况下,它是算术加号,有些情况下,是字符串连接符号,具体的要看它的操作数,如下:
2+1;//3
“hello”+“world”;//hello
world
但是,如果字符串和数字相加,会是怎样的结果呢?JavaScript会自动把数字转换成字符的,不管数字在前还是字符串在前;
需要注意的是,“+”的运算方向是从左到右的,如下:
3+4+“2”;//72
三、我们可以通过函数判断是否NaN,如下:
function isReallyNaN(x){ return x!==x; }
相关文章推荐
- 深入浅析JavaScript中的作用域和上下文
- ExtJs之Ajax模式的表单数据加载
- JavaScript检查是否包含某个字符
- ExtJs之Ext.comboBox的远程数据源读取程序
- javascript
- 【extjs】 extjs5 Ext.grid.Panel 搜索示例
- 【JavaScript】JavaScript中的checkbox之全选、全不选、反选
- json 数组对象 取值
- js异步编程
- JSON的多样格式
- jstl中的函数
- JS随机数种子
- Javascript对象赋值操作
- json基础教程
- 十八、初学jsp之八大监听器
- 十七、初学jsp之jsp过滤器
- json基本用法(1)
- 十六、初学jsp之jstl标签与自定义标签
- 十五、初学jsp之jsp EL表达式
- 十四、初学jsp之jsp九大隐式对象