一.数据类型
js的数据类型分为原始型数据类型和引用型类型
原始类型分为数值型、字符串型、布尔型、未定义型、空
1、数值型
常见数字
浮点型
1.23
2.34
3.1415e1 => 31.415 e1 小数点右移一位
3.1415e-1 => 0.31415 相反
typyof方法检测数据类型
2、字符串类型
所有被引号包含的值都是字符串,不区分单双引号
查看一个字符的编码
'L'.charCodeAt()
3.布尔型
true和false 真和假
4.未定义型
只有一个值undefined,表示一个控制,例如:声明了变量未赋值则为undefined
5.空
只有一个值null,类型是object,常和对象一起使用
二.数据类型转换
分为隐式转换和强制转换
1、隐式转换
(1.数值+字符串
自动将数值类型转换字符类型,进行拼接
2 + '3' => '23'
(2.数值+布尔型 布尔型转换为数值
2 + true => 3
2 + false => 2
(3.字符串+布尔型 布尔型转为字符串
'3' + true => '3true'
NaN:not a number,不是一个数字,只要出现这个值就是在将一个值转换为数值的时候,没有成功的得到数字返回的结果。NaN和任何数值执行数学运算结果还是NaN
所有的隐式转换为数值都会调用Number()函数
2.强制转换
(1.强制转换为数值
Number()
Number('1') => 1
Number('1a') => NaN
Number(true) => 1
Number(false) => 0
Number(undefined) => NaN
Number(null) => 0
(2、强制转换整型
parseInt()
parseInt(1.2) => 1
parseInt('1.22') => 1
parseInt('2a2') => 2
parseInt('a2') => NaN
(3.强制转换成浮点型
parseFloat()
parseFloat('2a4') => 2
parseFloat('3.14c') => 3.14
parseFloat('a2.2') => NaN
(4.强制转换成字符串
toString()
只能用于将数值和布尔型转为字符串
var n = 2
var str = n.toString() => '2'
三.运算符
1.算术运算符
+ - * / %取余 ++自增 --自减
var a1 = 5
var a2 = a1++ => 先赋值给a2再进行自增
console.log(a2) => 6
console.log() => 打印输出函数
var a3 = 2
var a4 = --a3 => 1 先执行a3自减,再赋值给a4
2.比较运算符
> < = >= <= == != === !==
== 等于,只比较值,可能会出现隐式转换
=== 全等于,比较值还会比较类型
!= 不等于,比较值
!=== 不全等于,比较值是否不同或者类型
数字和字符串比较,字符串会转换为数值
字符串之间比较,比较的是首个字符的编码
3.逻辑运算符
&& 逻辑与
|| 逻辑或
! 逻辑非
4.赋值运算符
= += -= *= /= %=
先执行运算,再执行赋值
标签:NaN,数据类型,Number,数值,JS,运算符,字符串 From: https://www.cnblogs.com/cll9/p/16724832.html