一个前端,爱跑步、爱吉他、爱做饭、爱生活、爱编程、爱南芳姑娘,爱我所爱。世间最温暖又无价的是阳光、空气与爱,愿它们能带你去更远的地方。

  • 文章
  • 心情
  • 照片墙
  • 留言板
  • 工具
  • 友链
  • biaoblog

    专注web开发技术分享

    js函数中call方法的使用

    技术 189 2019-07-29 16:52

    介绍:call与apply都属于Function.prototype的一个方法,所以每个function实例都有call、apply属性

    1.改变函数内部的this指向:

     // 有一个局部的test2方法,
     // test2被作为普通函数调用时,
     // test2内部的this指向了window,
     // 但我们往往是想让它指向该#test节点,见如下代码:
    document.querySelector("#test").onclick = function(){
    console.log(this.id)
    var test2 = function(){
    console.log(this)
    }
    function test3(){
    console.log(this)
    }
    test3.call(this)
    //改变了test2的this指针
    test2.call(this)
    }
    

    2.使用call来实现构造函数的继承。

    function one(){
    this.a = 1,
    this.b = 2,
    this.test = function(){
    // console.log(this)
    }
    }
    

    //通过call来实现构造函数的继承

    function two(){
    one.call(this)
    console.log(this)
    }
    

    // 实例化

    var oneObj = new one()
    twoObj = new two()
    

    此时的twoObj已经继承了oneObj的属性。


    

    文章评论

    评论列表(0