一、变量的使用
js是一种弱类型语言指的是它定义变量的时候不需要指定类型,类型是在赋值的时候确定的。
1、不定义也不赋值直接使用变量,如:
console.log(a)
这种情况程序会报错a is not defined,并会中断。
2、定义了并没有赋值,如:
var b ;
console.log(b)
打印结果为:b is undefined,但是程序不会中断。
二、变量的类型
总的来说分为:原始数据类型和引用数据类型。
原始数据类型有5种:undefined,null,boolean,number,string。
关于原始数据类型的几点总结:
1、 null可以理解为从undefined派生出来的。所以console.log(null == undefined)输出为true
2、某些编程语言中以0开头的表示八进制(如:056为八进制,068则为十进制因为含有8),0X代表十六进制
3、number类型的特殊值有:infinity--无穷大;NaN即非数字:为一个特殊的值,不等于任何值包括它自己。所以判断一个数是不是NaN时,只能通过isNaN来判断,而不能通过两个等号来判断。
console.log(typeof NaN);//number
console.log(NaN == NaN);//false
console.log(0/0);//NaN
console.log(typeof 0/0);//NaN
console.log(isNaN(0/0));//true
console.log(0/0 == 0/0);//false
**值得注意的是:加加减减无论在前在后都是会改变原变量的值:
var a = 1;
var b = ++a;
console.log(a,'---------',b);//输出结果都为2
常用的引用数据类型有3种:对象、数组和函数。
三、常用的数据类型的隐式转换
1、布尔类型转换
undefined--->false
null--->false
数值0,NaN--->false,其他数值--->true
空字符串--->false,非空字符串--->true
其他对象--->ture
2、转换为数值类型
undefined--->NaN
null--->0
字符串数字--->数值
布尔类型:true-->1 false --->0
3、转字符串类型
undefined ---> "undefined"
null---> "null"
布尔类型:true---> "true",false---> "false"
123---> "123",NaN--->"NaN"