美文网首页
js中THIS指向汇总

js中THIS指向汇总

作者: 路上灵魂的自由者 | 来源:发表于2019-02-24 15:07 被阅读10次

/*

* JS中的THIS汇总

THIS:当前方法执行的主体(谁执行的这个方法,那么THIS就是谁,所以THIS和当前方法在哪创建或者在哪执行的都没有必然的关系)

*/

// 1.给当前元素的某个事件绑定方法,方法中的THIS都是当前操作的元素本身

    docuemntbody.onclick = function(){

        // this=> body

    }

// 2.函数执行,看函数前面是否有点,有的话,点前面是谁THIS就是谁,没有点,THIS是window(在js严格模式下,没有点THIS是undefined)

    let fn = function(){

        console.log(this);

    };

    let obj = {

        name: '哈哈哈',

        fn: fn

    }

    fn(); // this: window

    obj.fn(); // this: obj

// 3.构造函数执行,方法中的this一般都是当前类的实例

    let Fn = function(){

        this.x = 100;  //this: f

    }

    let f = new Fn;

// 4.箭头函数中没有自己的this,this是上下文的this

    let obj = {

        fn: function(){

            // this:obj

            setTimeout(()=>{

                //this: obj

            },1000)

        }

    }

    obj.fn();

// 5.在小括号表达式中,会影响this的指向

    let obj = {

        fn: function(){}

    }

    obj.fn();      //this: obj

    ;(12,obj.fn)() //this: windiow

// 6.使用call/apply/bind可以改变this指向

    fn.call(obj) // this:obj

    fn.call(12)  // this: 12

    fn.call();  // this:window

    非严格模式下call/apply/bind第一个参数不写或者写null和undefined,this都是window,严格模式下写谁this就是谁,不写是undefiend

相关文章

  • js中THIS指向汇总

    /* * JS中的THIS汇总 THIS:当前方法执行的主体(谁执行的这个方法,那么THIS就是谁,所以THIS和...

  • JS进阶篇-this指向问题

    JS中this的指向问题不同于其他语言,JS中的this不是指向定义它的位置,而是在哪里调用它就指向哪里。 JS中...

  • JS中this指向

    一、全局作用域中的thises5与es6中严格模式与非严格模式全局函数的this都指向window 二、全局作用域...

  • JS中this指向

    函数有4种调用方式,对应就有4种绑定规则:默认绑定、隐式绑定、硬绑定和构造函数绑定。 1、默认绑定 当作为普通函数...

  • js中this指向

    1.this总是指向函数的直接调用者2.如果有new关键字,this指向new出来的那个对象3.DOM事件中thi...

  • JS中this指向

    (1)事件调用环境:谁触发事件,函数里面的this指向就是谁(某个DOM)。 (2)node全局环境:this指向...

  • js中this指向

    当我们需要把函数当做另外函数参数传入时,我们使用箭头函数。 关于this的指向。 问题:箭头函数中的this是如何...

  • 关于js函数中this的指向的问题

    @(javascript)[JavaScript中this的指向] 关于js函数中this的指向的问题 javas...

  • JS中this的指向

    什么是this? 它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用。 JS中this的指向,取...

  • JS中this的指向

    JS中this的指向 1.背景介绍 2.知识剖析 3.常见问题 4.解决方案 5.编码实战 6.扩展思考 7.参考...

网友评论

      本文标题:js中THIS指向汇总

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