数据类型:
1)数据类型划分
- 简单数据类型:Number Boolean String Undefined Null。
- 引用(复杂)数据类型:Object(对象)。
- 在JS中所有的数值都是Number类型的,无论整数还是小数;ECMAScript并不能保存世界上所有的数值。
<script id="Number">
console.log(Number.MAX_VALUE); //1.7976931348623157e+308
console.log(Number.MIN_VALUE); //5e-324
console.log(Number.MAX_VALUE + Number.MAX_VALUE); //Infinity是无穷大,-Infinity是无穷小的意思。
console.log(typeof Infinity);
console.log(typeof -Infinity); //两个都是number
var num = NaN;
console.log(num); //NaN就是not a number非法数字的意思
console.log(typeof num); //number,NaN也是数值类型
var counter = 100 + 40;
console.log(counter); //整数的计算不会丢失精度
var counter1 = 100.1 + 40.1;
console.log(counter1); //小数的计算可能会丢失精度!!?
</script>
- String:ECMAScript里面ES6还支持
(``)
模板单引号的形式,就是键盘上英文格式下的~
。
<script id="String">
var a = '封景!';
var b = "封景!";
console.log(a, b); //封景! 封景!
var a1 = '封景!"封景!"';
console.log(a1); //封景!"封景!"
</script>
- Boolean虽然只有true和false,但是,ECMAScript中所有类型的值都有与之对应的值。(非零是true,0和NaN是false,非空字符串是true,任何对象都是true,null和unfifined是false。)
<script id="Boolean">
console.log(Boolean(0)); //false
console.log(Boolean(1)); //true
console.log(Boolean(-1)); //true
console.log(Boolean('')); //false
console.log(Boolean('封景')); //true
console.log(Boolean(undefined)); //false
console.log(Boolean(null)); //false
console.log(Boolean(NaN)); //false
</script>
- Undefined:只有一个值undefined。
- Null:从语义上看,null表示的是一个空的对象。
console.log(typeof null);
返回值为:object
。
undefined值是null值衍生出来的,值相等,但是类型不相等。console.log(null == undefined); console.log(null === undefined);
结果为:true;false
。
技巧:如果要定义一个对象可以直接使用var obj = null;
。
2)数据类型查看:typeof
操作符,会将检查的结构以字符串的形式返回给我们。
<script>
console.log(typeof 100);
var a='封景,你好呀!';
console.log(typeof a);
</script>