• JavaScript核心之语法


    一、基础语法

    1、字符区分大小写

    在JavaScript中所有的关键字、变量、函数、对象等都是严格区分大小写的。

    2、注释

    JavaScript支持两种注释的方式,分别为单行注释和多行注释:

    • 单行注释
    <script>
        //这是单行注释
        var a = 2;
    
    </script>

    在“//”行尾的内容都会被注释掉。

    • 多行注释
        /*
         这是多行注释
         console.log('hello')
       */

    在“/*”与“*/”之间的内容都会被注释掉,注意的是这种注释不能有嵌套的注释。

    3、分号

    JavaScript语言使用分号将语句隔开。缺少分号,一条语句就成为下一条语句的开始,当然如果语句独占一行是可以省略分号的:

       //x=1后的分号不能省略
       var x=1;var y=2;
       
       //x=1后的分号可以省略
       var x=1
       var y=2

    4、标识符

      在JavaScript中,标识符用来对变量或者函数进行命名。标识符必须以字母、下划线(_)、美元符($)开始,后面的字母可以是字母、数字下划线或者美元符,其中数字是不允许作为首字母出现的。

       // 合法的标识符实例
       var a = 2
       var _b = 3
       var $ab = 4

    其中关键字与保留字均不可以作为标识符出现,但标识符可以包含这些。

    二、关键字

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

    三、保留字

    JavaScript保留了一些在当前版本没有使用的关键字,但是在以后的版本可能会使用到这些关键字:

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

    四、变量

    (一)变量命名

    变量是用标识符进行命名,也就是:

    • 变量名可以使用字母、数字、下划线、美元符

    • 变量名只能以字母、下划线、美元符开头

    • 变量名不能使用关键字和保留字

    (二)变量声明

    在JavaScript中,使用一个变量前应先对其进行声明,变量是使用var来进行声明的。

       //单个声明
       var i; 
       var j;
    //批量声明 var i,j;
    //变量声明与赋值同时进行 var i=1,j=2;

    注意:

    • 如果声明了变量,但是并没有给它赋值,那么它的初始值是undefined
    • 如果读取一个没有声明的变量会报错
    • 如果重复声明带有初始化器,这相当于赋值
    • 如果给一个未声明的变量赋值,这相当于全局创建了这个变量

    (三)变量作用域与声明提前

    1、变量作用域

       变量作用域是程序源代码中变量的作用区域。它分为全局作用域与局部作用域,全局作用域是全局变量作用的区域,在JavaScript代码中任何地方都是有定义的;局部作用域是局部变量作用的区域,在函数体内声明的变量或者函数参数变量,也只是在函数体内有定义。

      局部变量可以覆盖全局变量的。在函数体内,局部变量的优先级高于同名的全局变量。

       var variable = 'hello';
        function checkscope() {
            var variable = 'world'
            return variable
        }
        var result = checkscope()
        console.log(result) //world

      JavaScript使用的是函数作用域,也就是说如果函数体内有if、for等语句{}中声明的变量在整个函数体内都是可见的。

      function scope(){
          var x = 10;
          if (x>1){
              var y =2
          }
          console.log(y) //在整个函数体内都是可见的,尽管它在代码块中
      }
      
      scope()

    2、声明提前

    变量在函数体内始终是可见的,如果是下面这种情形的话:

      function scope(){
          console.log(a) //undefined
            var a = 10;
          console.log(a) //10
      }
      
      scope()

    a变量是在函数体内,所以它都是可见的,但是只有执行到var语句时候才会被真正的赋值。这与下面的情形是一样的:

        function scope() {
    
            var a;
            console.log(a); //undefined
            a = 10;
            console.log(a) //10
        }
    
        scope()
  • 相关阅读:
    Linux下架构高可用性网络----HA+LB+lvs
    MacBook如何用Parallels Desktop安装windows7/8
    Win10如何彻底禁用小娜?彻底禁用小娜的方法
    安卓手机微信发不出去怎么办 微信不能发信息怎么办
    计算机名、主机名、用户账户名与NetBIOS名有什么区别
    安装corel x8提示你已安装了另外一个版本
    ssh整合问题总结--在添加商品模块实现图片(文件)的上传
    代理设计模式之静态代理与动态代理(超..)详解
    Java基础--反射机制的知识点梳理
    ssh整合问题总结--运行项目时报java.lang.StackOverflowError(堆栈溢出)异常
  • 原文地址:https://www.cnblogs.com/shenjianping/p/13849853.html
Copyright © 2020-2023  润新知