js的数据类型有6大数据类型
5种基本数据类型
number 数值类型
string 字符串类型
boolean 布尔类型 true和false
undefined 未定义
null 空对象
1种特殊数据类型(复杂数据类型 引用数据类型 对象数据类型)
array 数组 []
object 对象 {}
function 函数 funtion(){}
【一】.number类型:
number数值类型:整数、小数、负数、16进制、8进制、NaN
注意:任何两个NaN都不相等 == 判断左右两侧是否相等console.log(NaN == NaN);//false
==NaN not a number 不是一个数 当运算没有结果的时候就是NaN==
【二】string类型
string字符串类型:引号( " " ' ')引起来的都是字符串 所有从页面获取的内容都是字符串数据类型
- 字符串.length:获取字符串的长度
- 字符串[下标]:.获取字符串中某个字符
- 字符串.charAt(下标):获取字符串某个字符
获取字符串中某个字符 字符串[下标] 从左往右开始下标从0开始 取对应下标位置的字符
获取字符串某个字符 字符串.charAt(下标) 获取对应下标位置的字符
字符串遇到+ 拼接
console.log(1 + 1);//2
console.log("1" + 1);//"11"
console.log(1 + 2 + "1");//"31"
【三】boolean类型
boolean布尔类型 true和false
<script>
var b1 = true;
var b2 = false;
console.log(typeof b1, typeof b2);//boolean boolean
//作用:用作判断条件
if (false) {//如果判断条件为true 执行{}中的代码
console.log("真");
}
</script>
【四】undefined和null类型
undefined 未定义 null 空对象
undefined 和null的区别?
undefined 未定义 声明变量没有赋值 没有存储空间
null 空对象 有存储空间
【五】数据类型的转换
1强制转换成number类型
- Number() parseInt() parseFloat()
(1)Number(要转换的数据):
将数据转换为Number类型 如果转换不了则是返回NaN
Number方法可以转换的:string类型(纯数字、""-0 " "-0)、boolean类型(true-1,false-0)、null(0) 其他都是NaN==
(2)parseInt转换
- parseInt(要转换的数据):将数据转换为number类型,从左往右开始转换,遇到不能转换的或者末尾结束,如果一开始就不能转换则是NaN,结果取整(舍弃小数)
(3)parseFloat转换
parseFloat(要转换的数据):将数据转换为number类型,从左往右开始转换,遇到不能转换的或者末尾结束,如果一开始不能转换则是NaN,结果保留小数
2强制转换为boolean类型
- Boolean(要转换的数据):将数据类型强制转换为boolean类型 结果为true或者是false
总结:Boolean结果为false的有:0 NaN null undefined ""
3强制转换为string类型
- String() 要转换的数据.toString()
String(要转换的数据):将数据转换string类型,直接是在数据外面加引号
toString强制转换 - 要转换的数据.toString: 强制转换为string类型
++ 自增 自加1 i++ ++i 都是自加1
// 1.基础用法
var a = 10;
a++;//a = a+1
console.log(a);//11
++a;//a = a+1
console.log(a);//12
```
- 参与运算
```js
// 2.参与运算
// ++在前:先自加1,后运算(打印)
// ++在后 先运算(打印),后自加1
var n = 10;
var m = ++n;// m = 11 n = 11
console.log(m, n);// 11 11
var x = 10;
var y = x++;// y = 10 x = 11
console.log(x, y);// 11 10
//练习1:
var s = 10;
var t = 10;
console.log(s++, ++t);//10 11 s=11 t=11
console.log(s, t);//11 11
//练习2:
var a = 10;
var b = ++a + a++ + a++;// b = 11 + 11 + 12 = 34 a = 13
var c = a++ + ++b + b++;// c = 13 + 35 + 35 = 83 b = 36 a = 14
console.log(a, b, c);// 14 36 83
//练习3:
var x = 10;
var y = --x + x-- + --x; //y =9 + 9 + 7 = 25 x = 7
var z = y-- + --y + x--; //z = 25+23+7 =55 y = 23 x=6
console.log(x, y, z); // 6 23 55
```