js的数据类型
5种基本的数据类型
number 数值
string 字符串
boolean 布尔
undefined 未定义
null 空对象
一种特殊的数据类型(复合 引用 对象)
object 对象
array 数组
function 函数
typeof 检测数据类型
typeof null object
typeof undefined undefined
typeof true boolean
typeof 123 number
typeof "你好" string
null和undefined有什么区别
undefined 未定义 声明变量但是没有赋值 没有存储空间 var a;
null 空对象 有存储空间
== 和===的区别
== 在判断的时候 会隐式转换
=== 不会隐式转换
数据的转换
显式转换/强制转换 通过js的方法 强制将数据转化为某种数据类型
隐式转换: 在进行某些运算的时候 自动转换数据类型
Number() 强制转换为number类型
string类型(纯数字 ""-0 " "-0) boolean(true-1 false-0) null-0
parseInt()
强制转为number类型 从左往右转换 遇到不能转换的或者是末尾结束 如果从一开始就不能转换则是NaN 取整(舍弃小数)
parseInt("abc12.6cd");//NaN
parseInt(null);//NaN
parseFloat()
强制转为number类型 从左往右转换 遇到不能转换的或者是末尾结束 如果从一开始就不能转换则是NaN 保留小数
parseFloat("12.5px");12.5
String(undefinded) 转换为string类型 在转换的数据加引号
"null" "undefined"
toString()
null.toString() // 不能转
undefined.toString() 不能转
Boolean
number(非0即真) string类型(有值即真) null-false undefined-false NaN-false
要保留的额数据.toFixed(n) 保留n位小数
isNaN 检测数据是不是 不是一个数
//会先隐式转换number类型 再进行判断
isNaN(10) false
isNaN("嘿嘿")
算术表达式
+ - * / % ++ --
赋值表达式
= += -= a+=2 a=a+2
三目
条件?true执行的代码(只能写一行代码):false执行的代码(只能写一行代码)