• JS基本概念 -- 语法


    ECMAScript 语法大量借鉴了C及其他类C语言。

    1.区分大小写

      ECMAScript中的一切(变量、函数名和操作符)都区分大小写。这也就意味着,变量名test和变量名Test分别表示两个不同的变量。

    2.标识符

      所谓标识符,就是指 变量、函数、属性的名字,或者函数的参数。标识符可以是按照下列格式规则组合起来的一或多个字符:

    • 第一个字符必须是一个字母、下划线(_)或一个美元符号($);
    • 其他字符可以是字母、下划线、美元符号或数字。 

      按照惯例,ECMAScript标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个有意义的单词的首字母大写:

        firstSecond

        myCar

        doSomethingImport

    3.注释

      ECMAScript使用C风格的注释,包括单行注释和块级注释。

      //单行注释

      /* 块级注释  */

    4.严格模式

      ECMAScript5引入了严格模式(strict mode)的概念。严格模式是为JavaScript定义了一种不同的解析与执行模式。在严格模式下,ECMAScript3中的一些不确定的行为将得到处理,而对某些不安全的操作也会跑出错误。要在整个脚本中启用严格模式,可以在顶部添加如下代码:

      "use strict";

    在指定函数中使用严格模式:

    function doSomething(){
      "use strict"; 
     
    //函数体 }

    5.语句

      ECMAScript中的语句以一个分号结尾;如果省略分号,则由解析器确定语句的结尾。

    var sum = a + b        //即使没有分号也是有效的语句 -- 不推荐
    var diff = a - b;    //有效语句 -- 推荐

    6.关键字和保留字

    关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。关键字不能用作标识符。带*号上标的是第五版新增的关键字

    break        do            instanceof        typeof        delete
    case         else          new               var           in
    catch        finally       return            void          default
    continue     for           switch            while         if
    debugger*     function      this              with          throw      try

    不能用作标识符的保留字,尽管保留字在这门语言中还没有任何特定的用途,但他们可能将来被用作关键字,以下是ECMA-262第三版定义的全部保留字:

    abstract      enum          int                short    
    boolean       export        interface          static
    byte          extends       long               super
    char          final         native             synchronized
    class         float         package            throws
    const         goto          private            transient
    debugger      implements    protected          volatile
    double        import        public

    7.变量

      ECMAScript的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值的占位符而已。定义变量时要使用var操作符。

    var message1;        //定义了一个名为message的变量,该变量可以用来保存任何值
    alert(message1);        //undefined 未经初始化的变量会保存一个特殊值undefined
    
    /*ECMAScript也支持直接初始化变量。 
     *变量message中保存了一个字符串值"hi",
     *初始化的过程就是给变量赋值。
     */
    var message2 = "Hi";    
    
    message3 = 100;    //有效 但不推荐
    
    /*使用var操作符定义的变量将成为定义该变量作用域中的局部变量
     *也就是说,如果函数中使用var定义一个变量,那么这个变量在函数退出后就会销毁
     */
    function test(){
        var message4 = "hi";    //局部变量
    }
    test();
    alert(message4);    //Uncaught ReferenceError: message4 is not defined
                        
                        
    function test2(){
        message5 = "hi";    //全局变量,省略var操作符
    }
    test2();
    alert(message5);        //hi
  • 相关阅读:
    PHP四种界定符
    设计模式 单例模式与工厂模式
    PHP include与require的区别
    面向对象 static abstract interface 等知识点
    gogland golang 颜色&字体 colors&font 配置文件
    什么是游戏中的帧同步
    kcp协议详解
    kcp流模式与消息模式对比
    kcp源码走读
    kcp结构体字段含义
  • 原文地址:https://www.cnblogs.com/PrajnaParamita/p/5809174.html
Copyright © 2020-2023  润新知