美文网首页
this指向

this指向

作者: 这是这时 | 来源:发表于2019-01-11 21:28 被阅读11次

    js笔记:this的用法+ es6

    1、this的用法:

    this:
        1、绑定事件的时候,事件"."前面是谁,this就是谁;

    2、在函数执行的时候,看函数前有没有".",如果有".",看"."前面是谁,函数里的this就是谁,如果函数前面没有“.”,函数里的this是window

    3、在回调函数中的this都是window;

    4、自执行函数的this都是window

    5、call可以改变函数中this;

    6、构造函数中的this都是实例

    2、call apply bind

    call,apply,bind都是函数的方法;

        call的第一个参数就是用来修改this的,从第二个参数开始传给fn,fn开始执行
    
        apply和call的用法的区别:
    
              都是改变函数中的this的
    
        不同点:
    
              call 的一个参数是改变函数中的this,后面的参数是一一传给 call前面的函数;
    
              apply 的一个参数是改变函数中的this,后面的参数是以数组的形式传给apply前面的函数,其实内部也是一一传的;
    
        bind方法: 也是用来改变this关键字的。
    
           1)返回一个处理好this的新函数
    
           2)和call、apply不同的是,改完this,call或者apply前面个函数会主动去执行;而bind不会;
    
                   在调用bind的时候就暂时不传参数,直接改变this就可以。bind返回的新函数在执行的时候再传参。
    
           ps: 在ie低版本中是不兼容的
    

    3、es6创建变量的两种方法

    1)let:可以创建一个变量,不能变量提升,在遇到{}时会形成块级作用域。

    2)const:const定义的都是常量,不能再去改变值。

    4、数组的解构

    ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构

    可以从数组中提取值,按照对应的位置,对变量赋值,数组的元素是按次序排列的,变量的取值由他的位置决定。

       var arr = [4,2,46,23];
    
        var [a,b,c,d] = arr;
    
      默认值:
    
        var arr = [24,4,2];
    
        var [name,age = 16(默认值)] = arr
    

    相关文章

      网友评论

          本文标题:this指向

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