7种数据类型
1.number 数字
2.string 字符串
3.boolean 布尔
4.symbol 符号
5.null (不存在)
6.undefined (不存在)
7.object 对象
*1-6为基本类型/简单类型
*7为复杂类型,其中包括三个细分类型:
(1)狭义对象 object
(2)数组 array
(3)函数 function
数字类型
1.js中无论整数,小数,都属于数字类型
2.不要用小数去验证小数
3.NaN不能用于去验证自身
字符串类型
多行字符串
推荐:
var str='ascd'+
'efgh'
参考:
var str1='asdf sdfg'
var str2='asdf asdf' //ES6,字符个数包含回车
字符串个数:变量名.length
字符串拼接:使用+可以将多个字符串放在一起,变成一个新的字符串
注意:
1.只要有一个字符串,其他是数字,那么结果是拼接不是相加
2.若一个是字符串,另一个是数字,那么两者会相减,会进行减法运算,;乘法也会进行运算
3.浏览器帮助自动将字符串类型转换成数字类型,这种方式叫“隐式转换”
4.' ' 的length为1
布尔类型
值:true/false
true&&true — true
true&&false— false
true||false— true
*空数组[]和空对象{}对应的布尔值都是true
null / undefined /NaN
null 值:null
undefined 值:undefined
区别:
1.变量没有赋值:undefined
2.若一个变量的结果是undefined,很一个数字进行运算,结果是NaN
3.有一个对象,目前没有赋值,可以给一个null
4.有一个非对象,目前没有赋值,可以给一个undefined
Number(null) //0 5+null //5 //null Number(undefined) //NaN 5+undefined //NaN //NaN
获取变量类型
typeof
typeof string //'string' typeof number //'number' typeof boolean // 'boolean' typeof symbol // 'symbol' typeof undefined // 'undefined ' typeof object //'object ' *typeof null// 'object ' *typeof fn // 'function' *typeof window //'object' *typeof [] //'object' *typeof{} //'object'
instanceof 区分数组和对象
var a={} a instanceof Array //false var a=[] a instanceof Array //true
对象
(哈希表)
复杂类型由简单类型组成
var person={ name:'Sourire', age:'10', gender:'female', //IE7及以下版本此处不加, } //读取 person['name']//此处引号不可省略