美文网首页
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