06JS中的数据类型
简单数据类型
- Number
Number中有一个特殊的值Infinity表示无穷大
JS中所有数值都是Number类型(整数和小数);这里要和C或者Java等语言区分开;
Number中另一个特殊的值NAN(not a number),做数值运算时没有结果时返回NAN
注意:整数类型的运算会保证其精度,浮点数会丢失精度;这里说的运算后面我发的运算符里有;
<script>
var counter = 100.1 + 20.1;
console.log(counter); //counter = 120.1999999999999;
</script>
- String
<script>
var str1 = "hello "world" "; //相同引号不能嵌套,不同引号可以嵌套,所以str1会报错;
var str2 = 'hello 'world' '; //会报错;
var str3 = "hello 'world' "; //不会报错;
var str4 = 'hello "world" '; //不会报错;
//注意这里的引号不能交叉,如下;
var str5 = 'hello "world' "; //会报错;
</script>
- Boolean
所有非零数值都是true,0和NaN是false;
所有非空字符串是true,空字符串是false;
任何对象都是true,只有null和undefined是false;
<script>
var bool1 = Boolean(0); //强制类型转换;
console.log(bool1); //输出为false;
</script>
- Undefined
是一种比较特殊的类型,表示变量为赋值,这种类型只有一个值undefined;
undefined是Undefined类型的字面量;
undefined实际上是null衍生出来的,所以比较undefined和null会返回true;
<script>
var str1 = undefined; //这里的str1的类型是Undefined,不是String
</script>
- Null
与Undefined一样都只有一个值null;
<script>
var str1 = null; //typeof(见下面) null 会返回Object;
console.log(typeof str1);
</script>
- Null与Undefined比较
<script>
var str1 undefined;
var str2 = null;
console.log(str1 == str2); //两个等于号是做值比较;
console.log(str1 === str2); //三个等于号是即做值比较,也做类型比较;
</script>
typeof操作符:会将检查的结果以字符串的形式返回给我们
应用数据类型
这里我们后面才会说到,先放在这里占个位