1.数据类型
JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有七种
- 数值(number):整数和小数(比如1和3.14),原始类型
- 字符串(string):文本(比如
Hello World
),原始类型 - 布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假),原始类型
- 符号(Symbol):表示独一无二的值,
- undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值 ,特殊值
- null:表示空值,即此处的值为空,特殊值
- 对象(object):各种值组成的集合,一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器,合成类型
2.数据的表示方法
- 数值(number):十进制 ,二进制 ,八进制,十六进制
- 字符串(string):单引号 ‘a’ ,双引号 “a”,空字符串 ‘‘ “” ,空格字符串 ’ ‘ “ ”
- 布尔值(boolean):ture/false,逻辑运算符|| ,&&
- undefined:只有undefined一个值
- null:只有null一个值
- 对象(object):复杂类型,由其他的简单类型组成。
Typeof()
可以获取数据的类型
3.数据的区分
3.1.undefined和null的区别:
a、undefined表示“未定义”
b、null表示空值,即该处的值现在为空
3.2.加上‘’ 的a 和没有‘’ 的a区别
‘a’ 是个字符串
a是变量,可以是任何类型
4.数据类型的转换
4.1.转换为字符串:
- .toString(),
var a=66 a.toString()==="66"
- 加上一个空字符串 ’ ',
a+''==='a'
- window.String(),
var a=66 window.String(a)==="66"
- 不同类型的不能使用+号
4.2:转换为布尔值
- Boolean(),
var b=66 Boolean(b)===true
- 两个感叹号 !!,
var b=66 !!b===true
- 五个lfasy值:
‘’,0,NaN,null,undefined
4.3.转换为number
Number(‘1’)===1
parseInt(‘1’,10)===1
parseFloat('1.23')===1.23
‘1’-0===1
+‘1’===1
4.4.typeof运算符
- typeof运算符可以返回一个值的数据类型
- 数值、字符串、布尔值分别返回number、string、boolean
- 函数返回function,undefined返回undefined,对象返回object,null返回object
5.关于内存
- 简单的值(n/s/null/):存入Stack
- 复杂的值(对象):存Heap地址,存入Stack
- object是对象的引用,没有指针
- GC:垃圾回收,如果一个对象没有被引用,它就是一个垃圾,将会被回收