数据类型概述 严格检查模式


数据类型概述

number

js不区分小数和整数

123//整数
123.9//浮点数
1.23e3//科学计数法
-90//负数
NaN//not a number
Infinity//表示无限大

字符串

'abc' "abc"

布尔值

true false

逻辑运算

与&& 或|| 非!

比较运算

=//赋值
==//等于(类型不一样,结果不一样,也会为true)
===//绝对等于(类型一样,结果一样,才会为true),一般都有这个

坚持不要==比较

注意:

  1. NaN与所有的数值都不相等,包括自己。只能通过一个方法isNaN(NaN)来判断这个数是否是NaN

  2. 注意精度问题:

    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定义