js语法

作者: 灯光树影 | 来源:发表于2018-08-11 18:02 被阅读0次
    • 注释
      尽量避免使用块级注释,可以避免下面错误:

       var rm_a = /a*/.match(a);
      
    • 标识符
      字母开头,后面可选择性添加1个或多个字母、数字或下划线

    • 数字

      1. javascript只有一个数字类型,内部被表示为64位的浮点数,其没有分离出整数类型,所以1和1.0的值相同
      2. 如果一个数字字面量具有指数部分,那么这个字面量的值等于e之前的数值与10的e之后数字的次方相乘。如100等于1e2(1e2-->1*10的平方)
      3. NaN是一个数值,它表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括自身。可以使用isNaN(number)检测NaN
      4. Infinity表示所有大于1.79769313486231570e+308的值
    • 字符串
      字符串字面量可以包在单引号或双引号中,可能包含0或多个字符。\是转义字符,Unicode是一个16位的字符集,javascript的所有字符都是16位的。javascript没有字符类型。

        //\u表示使用unicode编码
        console.log("A" === "\u0041") //true
      
        //字符串有一个length属性,用于获取字符串的长度
        console.log("string".length); //6
      
        //字符串是不可变的。但是可以通过+连接其他字符串创建一个新的字符串,两个字符和字符顺序完全相同的字符串被认为是相同字符串,即使存储空间不同 
        console.log("c" + "a" + "t" === "cat"); //true  
      
    • 语句

      • 一个编译单元包含一组可执行的语句。每个script标签提供一个被编译且立即执行的编译单元。因为缺少连接器,javascript把它们放在一个公共的全局命名空间中。
      • 在if,switch,while,for语句中,被理解为false的值有:
        false, null, undefined, '', 0, NaN
        其它所有值为true,包括字符串'false',以及所有对象
        但是,这不意味着它们与false进行==运算时,结果为true
          console.log(false == null); //false
          console.log(false == undefined); //false
          console.log(false == ' '); //true
          console.log(false == ''); //true
          console.log(false == 0); //true
          console.log(false == NaN); //false
          console.log(null == undefined) //true
          console.log(null == NaN) //false
          console.log('' == 0); //true
          console.log(' ' == 0) //true
        

        总结:

        1. null和undefined进行==运算时,都转成undefined对象,所以null == undefined 为true
        2. NaN不会转成其它对象,所以NaN不等于其它任何数,前面也说了它甚至不等于自己,仅仅表示一个无法表示的计算结果
        3. ''和 ' '进行==运算时,转成0。而0 == false
        4. 一个奇怪的现象:
          在javascript中,对于n(n>=1),n == true,只有n=1成立;
          而对于!n == false,所有的n都成立
    • 表达式

      最简单的表达式包括:
      1: 字面量值(字符串或数字)
      2: 变量
      3: 内置的值(true,false,null,undefined)
      4: 以new开头的调用表达式
      5: 以delete开头的属性提取表达式
      6: 包在圆括号中的表达式
      7: 以一个前置运算符前导的表达式
      ....

    • 类型
      javascript有5中基本数据类型,number, object, undefined, function, boolean
      使用typeof可以判断变量的数据类型
      以下是一些使用typeof的例子:

      console.log(typeof NaN); //number
      console.log(typeof '123'); //stirng
      console.log(typeof true); //boolean
      console.log(typeof undefined); //undefined
      console.log(typeof function(){}); //function
      console.log(typeof null); //object
      console.log(typeof []); //object
      

    相关文章

      网友评论

          本文标题:js语法

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