一.常量(const)和变量(var )
都是存储数据的容器
常量在声明后必须赋值,不允许为空并且不允许重新赋值
变量命名可以使用:英文字母、数字(不能以数字开头)、下划线、$。不能使用关键字。可以重新赋值。
二.数据类型:原始类型和引用类型
原始类型分为数值型、字符串型、布尔型、未定义型、空
1.数值型
10进制
8进制:以0开头的数字,例如012
16进制:以0X开头的数字,例如0XF 不区分大小写
浮点型
3140
3.14E3(E3 -> 10的三次方)
31.4E2
2.字符串型 “ ” / ' '
检测数据类型 typeof 值 'number'/'string'/'boolean'/'undefined'/'object' |
查看任意一个字符的编码
'a'.charCodeAt()
3.布尔型 true false
4.未定义型 undefined
5.空 null
三.数据类型转换 * 隐式转换 / 强制转换
1.隐式转换 : 运算过程中,自动产生的转换
(1)数字+字符串 数字转为字符串
(2)数字+布尔型 布尔型转为数字 true->1 false->0
(3)字符串+布尔型 布尔型转为字符串
NaN : Not a Number 不是一个数字,是在将一个值转换为数字的过程中,没有成功的得到数字结果就是NaN;NaN和任何数字执行数学运算结果还是NaN
函数:是一个功能体,提供若干的数据,返回结果。
所有的隐式转换为数字会自动调用函数Number
2.强制转换
(1)强制转换为数字
Number()
Number('3') //3 Number('3a') //NaN Number(true) //1 Number(false) //0 Number(undefined) //NaN Number(null) //0 |
(2)强制转换为整型
parseInt()
用于将小数或者字符串转为整型,其它类型转换结果为NaN
parseInt(3.5) //3 parseInt('6a') //6 parseInt('a6') //NaN |
(3)强制转换为浮点型(小数)
parseFloat()
用于将字符串转为浮点型,其它类型转换结果为NaN
parseFloat('3.14a') //3.14 parseFloat('75') //75 parseFloat('a3.14') //NaN |
(4)转字符串(了解)
toString()
用于将数字和布尔型转为字符串
var n=2 n.toString() //'2' |
四.运算符
运算符分为算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、三目运算符
1.算术运算符
+ - * / % ++ --
2.比较运算符
> < >= <= == != === !==
(1)数字和字符串比较,字符串转为数字
(2)字符串之间比较,比较的是字符的编码
NaN==NaN //false
NaN和任何值比较(> < >= <= == ===)结果都是false |
3.逻辑运算符
&& 逻辑与,关联的两个条件都是true结果是true,否则是false
|| 逻辑或,关联的两个条件有一个是true,结果是true,否则false
! 逻辑非,取反向 !true -> false !false -> true
短路逻辑
&& 当第一个条件为false,最终结果就是false,不再执行第二个条件
|| 当第一个条件为 true,最终结果就是true,不再执行第二个条件
2.位运算符(了解)
模拟计算机底层的运算,先把值转为2进制再进行运算,运算完再把结果转回成 10进制
2进制
& 按位与,上下两位比较,都是1结果是1,否则是0
| 按位或,上下两位比较,有一个是1结果是1,否则是0
^ 按位异或,上下两位比较,不同是1,否则是0
3.赋值运算符
= += -= *= /= %= ...
赋值 运算赋值:先执行运算再执行赋值
4.三目(元)运算符
一目运算符:由一个运算符连接了一个表达式 ++ -- !
二目运算符:由一个运算符连接了两个表达式
三目运算符:由两个运算符连接了三个表达式
条件表达式 ? 表达式1 : 表达式2
当条件表达式为true,执行表达式1
当条件表达式为false,执行表达式2
标签:false,数字,数据类型,NaN,JS,运算符,字符串,true From: https://www.cnblogs.com/phoenix-7/p/16667585.html