js里有7种数据类型,分别是string,boolean,number,null,undefined,object,symbol
数据类型简介
1.string,boolean和number三种是最基本的数据类型。
string
可以用单引号''
也可以用双引号""
来表示字符串,注意区分空字符串和空格字符串,空字符串转化boolean为false,空格字符串转化boolean为true;
用\
来进行转义,"\\"
表示反斜杠,字符串长度为1,常见的为回车"\n"
,tab"\t"
等;
表示多行字符串时,有三种方法,一种是在句尾添加\
,反斜杠后不能加字符否则换行无效,如下:
var a = "12345\
67890"
a \\ "1234567890"
a.length\\10
一种是字符串相加的方法,比较安全易懂,如下:
var a = "12345"+"67890"
a\\"1234567890"
a.length\\10
第三种是es6的扩展方法,和markdown里的引用代码方法一致,输入格式和输出格式一致,包括换行符等不可见字符:
var a = `1234
567890
12`
a
"1234
567890
12"
number
JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。具体格式为:从左往右,第1位为正负标志位,2-12位为植树位,13-64位为小数位
十进制,二进制(0b,0B开头),十六进制(0x,0X开头)
js中有正负0,正负0当分母时有区别,可以得到正无穷大和负无穷大
2.undefined和null,是两个特殊值。
这两个值都表示空,区别是undefined代表没有被定义,只是声明了,不一定是对象,也可能是基础类型,转为数值时为NaN;null表示已经定义为对象,值为空对象,转为数值时为0。
3.object是一组数据和功能的集合,称为合成类型;object里又有三种子类型:object对象,array数据,function函数。
object对象时取值,用中括号选取key来取得value;当key值的string符合标识符的标准,可以使用点语法:
var a = {"x1a3":1," ":2}
a.x1a3//1
a["x1a3"]//1
a[" "]//2
执行删除操作后,a中没有x1a3
的键值对:
delete a["x1a3"]\\true
a\\{" ": 2}
"x1a3" in a\\false
a[" "] = undefined\\undefined
" " in a\\true
便利对象的key值,但key的顺序随机,无法确定
var person = {name:"aa",age:10}
for(var a in person){console.log(a,person[a])}
\\name aa
\\age 10
如何确定数据类型
1.typeof方法
typeof运算符可以返回一个值的类型,可以typeof 1
也可以typeof(1)
:
对基础数据类型string,boolean,number,直接返回相应对数据类型
typeof(1)//"number"
typeof("1")//"string"
typeof(true)//"boolean"
对于null和undefined来说,执行typeof操作符,null返回object,undefined返回undefined。
利用这一点,typeof可以用来检查一个没有声明的变量,而不报错
typeof(null)//"object"
typeof(undefined)//"undefined"
对于object类型,狭义的对象返回object,数组也返回object,但function返回function
var a = {a:"aa",b:"bb"}
typeof(a)//"object"
var b = [1,2,3]
typeof(b)//"object"
var fn = function(){window.console.log(122)}
typeof(fn)//"function"
网友评论