美文网首页
JavaScript词法结构

JavaScript词法结构

作者: 佩吉秋 | 来源:发表于2016-11-26 20:41 被阅读0次

    图解javascript犀牛书-chapter2 Lexical Structure

    本章是js一些基础词法结构,简单易懂,下面的思维导图基本可以概括所有内容。后面的文字只针对图做一些简单说明。

    core js.png

    字符集 charset

    JavaScript程序使用Unicode字符集编写。(Unicode是ASCII和Latin-1的超集,几乎支持当前在地球上使用的每一种书写语言。)

    JavaScript使用Unicode字符集的UTF-16编码

    区分大小 case sensitive

    js区分大小写,a 不等于 A

    横向拓展:

    HTML不区分大小写,BODY === body , 但是XHTML区分大小写。
    因此,在标签里定义事件时,可以这么写:

    <button onClick="alert('hello world!')">click</button>

    但是在js中,必须全小写:

    <script> window.onload = function() { alert('hello world!') } </script>

    css标签选择也不区分大小写

    div {color:red} === DIV {color: red}

    注释

    //当行注释

    / * 多行注释 * /

    字面量 Literal

    故名思意,字面量就是字面上是什么变量,就是什么变量,已经定义好值。

    eg:"hello", [1,2,3], {x: 1}

    标识符 Identifiers

    • A name 标识符就是一个名字,用来标识变量、函数、循环语句块等
    • 命名规则:首字母必须是字母、下划线或者$符,不可以是数字;非首字母可以是字母数字下划线、$符。
      这里可以拓展一下,css 给元素添加样式时,html id 或者class不可以以数字开头,否则样式无效。

    拓展

    null 和 undefined的使用场景:

    null表示"没有对象",即该处不应该有值。典型用法是:
    • 变量回收,将一个变量赋值为null.var a = null;
    • 作为对象原型链的终点,Object.getPrototypeOf(Object.prototype) //null
    • call, apply时,只是想借用一个函数功能,因此将上下文环境context设置为null,eg:Math.max.apply(null,[1,2,4]) //4
    • ....
    null表示"暂未赋值”,典型的用法是:
    • 在js变量提升特性中,变量的定义会被提升至函数顶部,此时变量的值为undefined,eg:

      function foo() {
          console.log(a);  // undefined
         var a = 1;`
         console.log(a);  //1
       }
      

    相关文章

      网友评论

          本文标题:JavaScript词法结构

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