JavaScript基础(二)数据类型
javascript的变量一些问题
关于定义及undefined和 is not defined
<script type="text/javascript"> a=40; console.log(a);//可以输出a=40,但不推荐,最好用var a = 40; console.log(b);// b is not defiend var c; console.log(c);// a undefiend </script>
两个变量值的交换
<script type="text/javascript"> //不使用第三个变量,交换两个变量的值 var a = 50; var b = 40; a = a + b;//a=90;b=40; b = a - b;//a=90;b=50; a = a - b;//a=40;b=50; </script>
js是弱类型语言
- 会根据值去推断是什么类型。
- js提供了 typeof name方法来判断是什么类型
- 对于boolean数据里的true和false,用1和0参与运算。
- 数字 + 字符串:数字转换为字符串
- 数字 + 布尔值:true转换为1,false转换为0
- 字符串 + 布尔值:布尔值转换为字符串true或false
- 布尔值 + 布尔值:布尔值转换为数值1或0
- 任何值都可以转换boolean
- 空字符串,0和NaN,null,undefined 是false,其他都是true。
- 数值问题
- Infintiy和-Infintiy:无穷大和无穷小
- NaN :非数值(Not a Number)
- NaN和任何值都不相等,包括NaN
- isNaN() 任何不能转换成数值的都会返回true
- isNaN(“abc”);//true
- isNaN("1");//false
js的数据类型转换
- toString(); null和undefined没有toString()方法,可用String();
- String();//String(null);
- Number(); //对于字符串中有字符返回NaN,代码如下
- parseInt()和parseFloat(); //对于字符串中第一个是字符返回NaN,否则返回字符前的数字
上代码
//注意 //parseInt("值","进制"); parseInt("12.3abc");//返回12 parseInt("abc12.3");//返回NaN parseInt("");//返回NaN Number("");//返回0 Number("1223a");//返回NaN
对于运算符
- 对除0,返回Infinity;对0取模的时候返回NaN
- ++a; // a = a+1;表达式返回a的值
- a++;//表达式先返回a的值,在计算。
对于js数组
- 有序列表
- 任意类型
- 数组大小可变
改变就是好事.