数据类型(typeof 打印数据类型)
(1)基本数据类型:只存储单一的数据
1,number(数值)
2,string(字符串)
3,bool(true/false)
逻辑真与逻辑假
假:0 空’’
真:非0 非空 ’ ’
4,undefined(只是声明变量,没有赋值会产生undefined。一个具体对象上的属性没
有赋值也会是undefined)
(2)复合数据类型:存储多种数据
1,object对象类型,就是具体的事物,由属性和方法组成
数组[]
json{}
null 空->空对象
''空字符串 ->string 0->数学当中的无 number
undefined->变量的无
2,function函数类型 只要使用function声明的那都是函数类型
函数和基本类型的区别 :
基本类型必须先赋值才有值。
函数只要声明了函数,在前在后都可以使用
数据类型转换
(1)强制转换
1:数据类型不是number的转换成number
Number() 是从数据的整体去考量能不能转换成一个number类型
如果不能转,则转换成NaN not a number 不是一个数字,但是是number类型
parseInt()转换成整数和parseFloat()转换成小数 把数据从左到右一位一位的进行转换。
2:数据类型不是string的转换为string
数据.toString()
String( 数据 )
(2)隐式转换
1,自动转换,是我们使用运算符以后,当运算两边的数据类型不一致,则程序会自己去转换的
2,字符串和数值 用+ 运算连接起来的表达式,则数值会转换成string
3,如果遇到除+以外的表达式 ( string 数值 )先使用Number( string )
下面附加一个小案例
var json = {
name:‘小明’
}
console.log( json.toString() );
猜猜打印出来的会是什么?
很多新手会误认为是{"name":"小明"}
其实打印出来的是[object Object]
而下面的才会打印出{"name":"小明"}
var json = {
name:'小明'
}
console.log( JSON.stringify( json ) );
这是string类型转换的一个小例子,但是往往很容易出错。