一篇文章能够看懂基础源代码之JavaScript篇

  

javascript:解释型语言,使用js引擎进行解释,目前常用版本为ECMAScript6

  

js分为三部分:DOM, BOM, ECMAScript

  

: DOM文档对象模型文档对象模型

  

物料清单:浏览器对象模型浏览器对象模型

  

ESCMAScript:脚本执行

  

DOM:主要负责控制页面组件的显示,各种网络组件元素的显示

  

物料清单:主要是负责浏览器的操作,例如地址栏的数据操作,浏览器网页显示窗口的关闭,大小,加载操作,导航前进后退操作,

  

浏览器浏览过程可以参看之前发过的文章:

  

BS架构浏览过程原理(一)

  

BS架构浏览过程原理(二)

  

javascript源码后缀名一般为js,可以直接在html里面写代码,也可以另外存一个js文件,然后在html代码里引入,单独写js文件时只需要直接写内容即可

  

在html代码里直接使用
& lt;脚本类型=拔谋?javascript"在
//内联js代码
& lt;/script>
& lt; script>
//内联js代码
& lt;/script>
在js文件里书写代码,则在html使用引入的方式
& lt;脚本https://www.yisu.com/zixun/src=" Myjs.js ">

  
      <李>   

    声明变量:
    var myvar#=0;//推荐写法是代码行结束不用写分号;,不过推荐变来变去的,没有统一
    让myvar#=' 1 '//我们是推荐声明变量的,因为我们的作用域只在本代码块里,而var一不注意可能会导致变量变成全局变量
    让myArr=[1, 2, 3]//声明数组变量
    让myObj={1, b: ' 2 '}//声明一个对象实例
    myObj。//获取对象的一个属性
    myObj [b]//获取对象的b属性
    //变量前置,如果使用var声明了变量,那么即使var语句在最后,变量在前面使用也不会报的错,但如果没有声明直接使用变量则会报错。赋值除外,例如:
    console.log (a)——在未定义
    b=20 - - - - -在不会错
    console.log (c) - - - - - -在报错
    var=10

      李   <李>   

    声明方法:
    函数myFunc(){}//不带参函数
    myFunc (myParam){}//带参
    当调用方法时,如果方法没有返回值,那么得到的是未定义的
    让=myFunc()//=定义
    给函数的原型链再追加内容:此时myFunc相当于一个类,需要新实例化才能调用追加的内容
    myFunc.prototype。newMethod=function () {}

      李   <李>   

    函数的调用和对象的实例化
    当直接调用函数时,myFunc(),得到的效果是执行一次函数方法
    让=myFunc()//=定义
    当使用新myFunc()时,得到的效果是实例一个对象,并执行一次函数方法,此时得到的是一个对象实例
    让=new myFunc()//一个是myFunc的实例对象

      李   <李>   

    声明一个类:
    ES6有关于类的定义,在后端应用中会把类类编译作用的代码,所以后端能够识别,但直接写在前端时,浏览器是无法正确识别。需要编译浏览器才能识别
    类MyJsClass {
    构造函数(){}//无参构造函数
    构造函数(myvar#){}//有参构造函数
    myMethod(){}//声明方法
    }
    //继承
    类的男子汉延伸我{}
    另外一种方式声明类:
    函数MyFuncClass () {}
    MyFuncClass。myStaticMethod=function(){}//给类挂载一个静态方法
    MyFuncClass.myStaticMethod()//调用静态方法,不能通过实例对象调用
    MyFuncClass.prototype。myMethod=function(){}//相当于声明一个方法,实例可以调用
    新MyFuncClass () .myMethod()//调用实例方法
    让myAnnoFunc=function(){}//声明一个函数,可以通过myAnnoFunc()调用
    //闭包:把外部不能获得的内容通过返回出去,导致外部获得内部的引用,使用不当会导致内存溢出

      
     <代码>函数(){
      让myInnerVar=1
      让b=function () {
      返回myInnerVar
      }
      返回b
      } 
      李   <李>   

    箭头函数:简化函数的写法
    myvar#=比;{执行体}
    myvar#=比;执行语句
    (myVar1 myVar2)=祝辞{执行体}

      李   <李>   

    运算符,算术运算,逻辑运算

      
        <李>   
          <李>   
            <李>/% + +,,,| | !李   
          李   
        李   
      李   <李>   

    逻辑判断:
    如果(myCondition) {}
    else if (condition2){}{}其他

      李   <李>   

    循环:   

     <代码>(让我=0;i<10;我+ +){}
      
      (让myObj) {}
      
      myArr。forEach(项=在{})
      
      myArr.forEach((项目、索引)=比;{})
      
      {},(条件)
      
      而(条件){}//分支:
      开关(myvar#) {
      案例1://做
      打破
      案例2:
      打破
      默认值:
      打破
      }

    一篇文章能够看懂基础源代码之JavaScript篇