JavaScript数据类型、运算
知识点一:数据类型
1、数据类型:
(1)、基本数据类型:数字类型(Number)、字符串类型(String)、布尔类型(Boolean)、Undefined、null
(2)、复杂数据类型:对象(Object)
2、Number
① 十进制 var num1 = -100.25;
② 十六进制 var nums1 = 0xA;
③ 八进制 var numz1 = 010;
④ 浮点数var mum4 = -6e4;
⑤ 最大值 Number.MAX_VALUE
⑥ 最小值 Number.MIN_VALUE
⑦ 无穷大 Infinity
⑧ 无穷小 -Infinity
⑨ NaN :非数值,但是也是Number数据类型 ,NaN与任何数据都不相等,包括它本身
⑩ isNaN()方法:判断一个数是否为非数字,是数字,返回false,不是数字的话返回true;
11、 语言具有隐式转换(隐式类型转换就是指,数据的类型在不用人工干预的情况下进行转换的行为,原因:js是一门弱类型的语言,他在声明变量的时候不需要指定类型,对变量赋值也没有类型的检测,所以js是非常的灵活的,)
3、字符串类型
① 字符串可以使用单引号,也可以使用双引号,例如:'abc'、"abc"。
② 字符串的拼接 +
1) 两边只要有一个是字符串,那么+就是字符串拼接功能
2) 两边如果都是数字,那么就是算术功能。
4、布尔
① true
② false
③ 在计算机内存存储中 true 1 false 0
5、Undefined
① var num;
console.log(num);//undefined
② 声明之后没赋值
6、Null
① 空 需要手动设置
② var nu1 = null;
知识点二:数据类型转化
1、转为string类型
① toString() number、boolean
② String() undefined ,null
2、转换为Number类型
Number()转化规则
① 如果字符串中只包含数字时,将其转换为十进制数值,忽略前导0
② 如果字符串中包含有效浮点格式,如“1.1”,将其转换为对应的浮点数字,忽略前导0
③ 如果字符串中包含有效的十六进制格式,如“0xf”,将其转换为相同大小的十进制数值
④ 如果字符串为空,将其转换为0
⑤ 如果字符串中包含除上述格式之外的字符,则将其转换为NaN
parseInt()的转化规则
遇到第一个非数值字符就返回
parseFloat()
遇到第一个非数值字符(第二小数点)就返回
3、转为boolean类型
① Boolean()
② 0 ' ' null undefined NaN会转换成false,其它都会转换成true。
知识点三:js运算
1、算数运算、一元运算、逻辑运算、关系运算、赋值运算
2、算数运算:
① + - * / %
3、一元运算
① 前置++ 先将自身的值自增1,再将自增后的值赋值给变量
② 后置++ 先将自身的值赋值给变量,然后再自增1
③ 前置--后置--同理
4、逻辑运算符(布尔运算符)
① && 与 两个操作数同时为true,结果为true,否则都是false
② || 或 两个操作数有一个为true,结果为true,否则为false
③ ! 非 取反
5、关系运算符(比较运算符)
① < > >= <= == != === !==
② = 赋值
③ == 比较的是值相等
④ === 全等、恒等,不仅要比较值是否相等,还要比较数据类型是否相等
6、 赋值运算符
① = += -= *= /= %=
7、 优先级从高到底
① () 优先级最高
②..点运算符
③ 一元运算符++ -- !
④ 算数运算符 先 * / % 后 + -
⑤ 关系运算符 > >= < <=
⑥相等运算符 == != === !==
⑦ 逻辑运算符 先 && 后 ||
⑧赋值运算符 =