美文网首页
JS里面常被忽略的问题

JS里面常被忽略的问题

作者: 空压机百科 | 来源:发表于2019-02-17 19:34 被阅读0次

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)

相关文章

网友评论

      本文标题:JS里面常被忽略的问题

      本文链接:https://www.haomeiwen.com/subject/kuqneqtx.html