美文网首页
js的this指向问题

js的this指向问题

作者: 鸡毛菜菜子 | 来源:发表于2020-01-13 08:55 被阅读0次

this指向详情参考:https://blog.csdn.net/weixin_37722222/article/details/81625826

apply和call详情参考:https://www.jianshu.com/p/bc541afad6ee

1.基本函数的指向

在非严格模式下指向window,在严格模式下无所指向。

2.对象字面量函数指向

就是那个函数调用,this指向哪里

3.构造函数指向

指向使用new构造方法构造出来的函数

4.箭头函数对this指向的改变

箭头函数没有 this ,箭头函数里面的 this 是继承外面的环境。

使用箭头函数之前 使用箭头函数之后

注意在事件中使用箭头函数结果不是我们想要的,事件函数可以理解为为对象onclick设置值,所以函数声明时this为当前对象,但使用箭头函数时this为声明函数上下文。使用handleEvent绑定事件处理器时,this指向当前对象而不是DOM元素。

5.apply与call的使用

call 和 apply 的作用,完全一样,唯一的区别就是在参数上面。

call 接收的参数不固定,第一个参数是函数体内 this 的指向,第二个参数以下是依次传入的参数。

apply接收两个参数,第一个参数也是函数体内 this 的指向。第二个参数是一个集合对象(数组或者类数组)

可以看到,obj 是作为函数上下文的对象,函数 getName 中 this 指向了 obj 这个对象。参数 firstName 和 lastName 是放在数组中传入 getName 函数。

call和apply可用来借用别的对象的方法,这里以call()为例:

call和apply可用来借用别的对象的方法,这里以call()为例:

相关文章

  • js:this指向问题

    var 作用域 先来看个简单的例子: 直觉地,内部函数可以访问外部函数的变量,外部不能访问内部函数的变量。上面的例...

  • JS this指向问题

    this:指的是你的函数执行时所在的环境(作用域) 函数this的指向(箭头函数除外): 谁调用函数,这个this...

  • js的this指向问题

    跟函数在哪定义的和在哪执行的都没有关系 1、函数执行看函数名前面有没有".",没有就是window,有的话"."前...

  • js的this指向问题

    this指向详情参考:https://blog.csdn.net/weixin_37722222/article/...

  • JS进阶篇-this指向问题

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

  • JavaScript经典面试题(2)--this指向及应用

    关于js中的this指向问题:有很多同学刚接触js时,对this的指向问题很是迷惑,在有些不常见情况,往往搞不...

  • js之this指向问题

    结果如下。一开始有点迷惑,success不是属于myMessage对象的一个属性吗?为什么this不是指向myMe...

  • js中this指向问题

    this的指向在函数定义的时候是无法确定的,只有函数执行的时候才能确定this到底指向谁,实际this指向是调用他...

  • JS中this指向问题

    首先声明,添加删除线的都是不太确定的 下面我们分情况解释: 1、函数调用模式--当一个函数并非一个对象的属性时,那...

  • JS--this指向问题

    JS--this指向问题 1.function中的this在不同环境下的指向 事件调用环境:谁触发的事件,函数里面...

网友评论

      本文标题:js的this指向问题

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