js数据类型
number string boolean undefined null object symbol
nunber类型
JS对整数提供四种进制表示方法:二进制、 八进制、十进制 以及十六进制
二进制有前缀:0b或者0B数值 //0B11为十进制3
八进制有前缀:0o或者0O或者是0开头且只有0-7八个阿拉伯数字 //0o11为十进制9
十六进制有前缀:0x或者0X数值 //0x11为十进制17
字符串转义符 \ 在字符串里面有特殊意义用来表示一些特殊字符
var a = '\''; // 同 var b = "'";
var c = "\'\""; //输出一个单引号和双引号length为2
var d = '\n'; //表示回车length为1
var e = '\t'; //表示tab键length为1
var f = '\\' //使用转义符转义转义符 输出为: \
多行字符串
var s1 = "123\
456"; //没有斜杠会报错 反斜杠后面必须是换行符 否则会报错
var s2 = "123" +
"456"; //推荐使用这种 第一种\后面容易出现空格从而出现错误
//ES6多行字符串使用反引号:`
var s3 = `123
456`; //包含回车字符 s3.length为7
//注意:
//s1和s2在输出的时候还是在一行显示 s3输出为多行显示
null和undefined的区别
都表示什么都没有是空值
之间的区别:
变量没有赋值 ------ undefined
对象没有赋值 ------ null
一个非对象现在不赋值 ------ undefined
object对象
var obj = {
"name" : "jiaming",
"age" : 19
}
//对象里面的字符串符合标识符规范可以写成 obj.name 等价于 obj.["name"]
//key不加引号,命名需要遵循变量名规范
obj["name"] = undefined //只是把value清空了
delete obj["name"] //删除key value
obj.name //undefined
"name" in obj //false
//遍历obj
for(var key in obj){
console.log(key+":"+obj[key])
}
判断变量的类型里面的两个bug
var a = null
typeof a //返回object (bug)
var fn() {
}
typeof fn //返回function (bug)
网友评论