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"