1、变量
javascript 中的变量是弱类型的 是可以转换的
变量的性质就是一个用来保存值的占位符
变量的定义:可以通过var 来定义,如果省略var 的话,会定义一个全局变量
定义一个变量,可以不初始化,也可以初始化,可以用null初始化为一个空对象
一个var 可以定义多个变量,中间用逗号隔开
2,数据类型的分类
5种简单数据类型:Undefined/Null/String/Number/Boolean
1种复杂数据类型:Object
不能创建自定义的数据类型
3,Undefined
变量定义后没有初始化,默认用undefined 初始化
Undefined类型只有一个值,undefined
建议:变量定义的时候尽量给一个初始值,而不是让它初始化为 undefined
如果一个函数没有返回值的话,会返回undefined
如果没有给函数传入实参的话,形参会默认为undefined
4,Null
表示空对象的指针
可以用以对象变量的初始化
5,Null 和 Undefined 的区别
Number(null)返回0 ,Number(undeined)返回 NaN
null 表示没有对象,undefined 表示缺少值
6,Boolean
Boolean 只有两个值 true false
作用:条件判断
其它类型的变量通过Boolean() 函数可可以转换为 Boolean 类型
7,5个值可以转换为false
s="";
s=0;
s=NaN;
s=null;
s=undefined;
其它的都转换为 true
8,Number
整数和浮点数:浮点数存储所占的空间是整数的两倍,当浮点数小数点后面的值是0的时候,会将浮点数转化为整数然后存储
三种进制:八进制 十进制 十六进制 八进制和十六进制在计算的时候,先转化为十进制数,再进行计算
八进制:0引导
十六进制:0X引导
科学记数法:1e5 表示1*10的5次方 就是100000
Infinity 表示极大值 表示超过 Number.MAX_VALUE的数
-Infinity 表示极小值 表示小于 Number.MIN_VALUE的数
isFinite()可以检测一个数是否超出范围
NaN/isNaN() 一个变量是不是一个数字
9,Number()
s=null; 转换为0
s=undefined; 转换为 NaN
s="123asd"; 转换为NaN
s="-1"; 转换为 -1
s=0123; 转换为 123 不识别八进制数
s=0xa; 转换为 10 能识别十六进制
10,parseInt(),parseFloat()
可以转化数字和字母混合的变量
可以传入第二个参数为8或者16来转换为八进制还是十六进制数
parseFloat()会省略第二个小数点以及后面的内容
11,String
单引号与双引号完全相同
在php中单引号字符串是不能用反斜杠转义字符,双引号字符串可以用反斜杠转义字符
在javascript中单引号字符串和双引号字符串都可以使用反斜杠转义字符
使用.toStrinng()或者 String() 方法非字符串变量转换为字符串类型
12,Object
成员:值或者函数,函数又叫做对象的方法
成员是无序的
初始化一个对象有三种方法
var obj= new Object
var obj =new Object() 构造函数
var obj={}
13,对象的常用方法
toString()
valueOf() 返回键值对表
14,typeof 操作符
是一个操作符,不是一个函数
可以检查6种数据类型和函数
检查结果:6种数据类型返回undefined/boolean/string/number/object 函数返回 function
返回 undefined 可能是这个变量没有定义 还可能是这个变量在定义的时候用了 undefined 来进行初始化
Null 类型在检查的时候会返回 object 可以用null 来初始化一个对象