js里的数据类型

157 阅读2分钟

js有七种数据类型:number string Boolean aymbol null undefined object 

number:

十进制:1   .1( 小数点前面的0可以省略) 1.23e2(科学计数法1.23*10^2)

js里number类型支持二进制,以ob开头0b11等于十进制的2

也支持十六进制,以ox开头0x11等于十进制的17

同时支持八进制,以0开头,var a=010,//a=8

string:

字符串既可以用单引号也可以用双引号,但尽量统一风格,不要一会儿单引号一会双引号;

 '',"":空字符串长度0 ' '," ":空格字符串长度1

字符串内有特殊字符时,如it's,可以用换行符转义,"it\'s",换行符本身可以转义自己"\\"

\0 :null      \b :后退键          \f :换页符     \n : 换行符       \r :回车键       \t :制表符  \v :垂直制表符     \' :单引号        \" :双引号      \\ :反斜杠

多行字符串: 

如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。注意,反斜杠的后面必须是换行符,而不能有其他字符(比如空格),否则会报错。(不推荐此写法)

var s1 = 'hello\

world'

也可以用第二种写法(推荐):

var s2 = 'hello'

+'world'

输出的时候也是单行

第三种es6升级语法,使用反引号 ` 可以书写多行字符串,(下面的s3字符串长度为11,hello与world之间存在换行符)

var s3 = `hello

world`

Boolean

布尔类型只有两种,true和false

与布尔值相关的两种运算:与运算&&;或运算||

与运算,两者都为真时结果为才为真

或运算,两者只要有一方为真结果为真


symbol类型

暂时用不到,跳过

null类型

值只有一个:null

undefined类型

值只有一个:undefined

一般来说,null表示一个空对象,undefined表示一个空的除对象外的其他类型

以上六种类型都是简单类型,object为复杂类型,复杂类型由简单类型组成

object

var summary{

    'name' = 'Bob',

    'age' = '18'

    'friend' = {'name':'joker','age':'17'}

}

summary就是一个对象,对象里面可以有对象

对js来说,hash表的key永远是字符串,取出key时引号不能省略

hash表的key不加引号则必须遵守标识符规则

summary.name等价于summary."name"