数据类型概述 严格检查模式
数据类型概述
number
js不区分小数和整数
123//整数
123.9//浮点数
1.23e3//科学计数法
-90//负数
NaN//not a number
Infinity//表示无限大
字符串
'abc' "abc"
布尔值
true false
逻辑运算
与&& 或|| 非!
比较运算
=//赋值
==//等于(类型不一样,结果不一样,也会为true)
===//绝对等于(类型一样,结果一样,才会为true),一般都有这个
坚持不要==比较
注意:
-
NaN与所有的数值都不相等,包括自己。只能通过一个方法isNaN(NaN)来判断这个数是否是NaN
-
注意精度问题:
console.log((1/3)===(1-2/3))
返回结果为false。 所以尽量避免使用浮点数进行运算
可以用绝对值来计算,判断两者相减的值是否小于0.00000001,若是,则就认为是相等
console.log(Math.abs(1/3-(1-2/3))<0.00000001)
//返回值为true
null和undefined
null:空
iundefined:未定义
数组
var arr=[1,3,4,'hello',null,true];
//数组中可以写不停=同类型的内容,因为var不区分类型
//但一般都使用这个
//也可以new一个对象去定义数组
new Array(1,3,4,'hello',null,true);
/*打印时用浏览器控制台,console.log(arr[i])
i表示数组下标,与java一样,下标从0开始
数组下标越界会打印出undefined
*/
对象
对象是用大括号,数组用中括号
var person={
name:"vvv",
age:3,
tags:[1,3,5,7]
}
//每个属性值之间需要用,隔开,最后一个就不需要了
怎么打印?
在网页控制台上输person.name 就会出现定义的值
类似的,也可以输person.age person.tags[i]
注意
以上代码有的写的太过随意,因为js是弱语言,代码不会很严谨,但随意的代码会造成很多不便和问题,不利于开发者以及使用者,为此引出了严格检查模式如下
严格检查模式
在js代码前加上'use strict';即可,必须写在第一行
引入:局部变量一般建议使用let定义