首页 > 其他 > 详细

this(this的4种指向和改变this指向的方式)

时间:2019-03-07 10:48:06      阅读:851      评论:0      收藏:0      [点我收藏+]

  this是Javascript语言的一个关键字。

随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象

1.this指向的形式4种

a.如果是一般函数,this指向全局对象window;

b.在严格模式下"use strict",为undefined.

c.对象的方法里调用,this指向调用该方法的对象.

d.构造函数里的this,指向创建出来的实例.

 技术分享图片

定义一个_this变量来存储this值,使全局对象里面的this 指向person 的this

技术分享图片

this最近的函数是全局对象setTimeout

技术分享图片

2. 改变this指向的方式

以下属于函数的方法

改变this的指向并且执行调用函数

.call(),  call(thisScope, arg1, arg2, arg3...)

.apply(), apply(thisScope, [arg1, arg2, arg3...]);两个参数

而bind 改变this的指向,返回的是函数

.bind()  bind(thisScope, arg1, arg2, arg3...)

技术分享图片

call,可以传入多个参数,改变this指向后立刻调用函数

技术分享图片

apply,可以传入数组

技术分享图片

 bind改变this指向后,返回的是函数

----------------------------------------------------------------------

原文:https://www.jianshu.com/p/c415530030a9

 

this(this的4种指向和改变this指向的方式)

原文:https://www.cnblogs.com/showcase/p/10488013.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!