五种基本数据类型:undefined 、boolean、number、string、null(存放在栈内存中)
复杂的类型:object(存放在堆内存中)
所有的数据类型,归根到底都是string类型的
Number
字符串
字符串是以单引号或双引号括起来的任意文本,比如‘abc’,"xyz"等等。注意:‘’和“”本身只是一种表示方式,不是字符串的一部分。
布尔值:
有两种:true和false
1.除0之外的所有数字,转换为布尔类型都为true
2.除“”之外的所有字符,转换为布尔类型都为true
3.null和undefined和NaN转换为布尔类型为false
比较运算符
==:会自动转换数据类型再比较
===:不会自动转换数据类型,如果类型不一致,返回false
NaN是一个特殊的数值
任何涉及NaN的操作,都会返回NaN
与任何值都不相等,包括自己本身
isNaN(n)
功能:检测n是否是非数值
返回值:boolean
参数:参数可以是任意类型
说明:isNaN()在接收到一个值之后,会尝试将这个值转换为一个数值,某些不是数值的会直接转换成数值
null和undefined
null
表示一个空对象指针
如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null,而不是其他值
undefined==null返回true
null是一个不存在的对象的占位符,而{}是一个真正的对象,只不过其中没有数据
变量
var 声明变量
ECMAScript的变量是松散类型的(可以用来保存任何类型的数据),每个变量仅仅是一个占位符,
变量本身是没有类型的,变量的类型是由变量的值决定的
ECMAScript中的一切(变量、函数名和操作符)都区分大小写
语句结束使用分号,不使用则由解析器决定
命名规则:(变量、函数属性的名字,或者函数的参数)
1.字母、数字、下划线或美元符号
2.不能以数字开头
3.不能使用关键字、保留字等作为标识符
4.标识符的名字要语义化
变量的声明与赋值
1.先声明后赋值
2.声明的同时赋值
省略var,全局变量(不推荐使用)