当前位置: 首页> 汽车> 时评 > 建筑网格布_太原网站优化技术_网站建设公司排行榜_昆明百度搜索排名优化

建筑网格布_太原网站优化技术_网站建设公司排行榜_昆明百度搜索排名优化

时间:2025/7/10 21:06:56来源:https://blog.csdn.net/aaaaaaaallllll/article/details/142859245 浏览次数: 0次
建筑网格布_太原网站优化技术_网站建设公司排行榜_昆明百度搜索排名优化

this的多种用法

  • 全局范围内

  • 函数调用

  • 作为对象方法的调用

  • call/apply/bind 的调用

  • 作为构造函数调用

 在全局范围内使用this ,它将指向全局对象(浏览器中为 window)

纯粹的函数调用,这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global

 在事件中表示当前元素的时候,可以使用this

在html结构中的this,指向的绑定事件的元素本身

字面量对象中的this:指的就是对象本身

定时器中的this指向window

箭头函数中的this
  • 箭头函数会捕获其所在上下文的 this 值,作为自己的 this 值,自己本身并没有this值;

  • 箭头函数的this永远指向其上下文的this,任何方法都改变不了其指向,如call(), bind(), apply()。

call(),apply(),bind() 方法

所有函数都是对象,都有call(),apply(),bind()方法,都是为了改变this指向

 call和apply相似,不同指出在于传递的方式不同,call的参数需要逐个列举,apply的参数需要通过数组的形式传递

function fun2(a,b){console.log(a+b);console.log(this);
}
box1.onclick = function(){fun2.call(this,10,20)
}
function fun(){console.log(this);
}
function fun2(a,b){console.log(a+b);console.log(this);
}
box1.onclick = function(){fun.apply(this)fun2.apply(this,[10,20])
}

bind有两个特点

  1. 不会调用函数

  2. 可以改变函数内部this指向

function fun2(a, b) {console.log(a + b);console.log(this);
}
box1.onclick = function () {// bind传參的格式和call是一样的,直接用逗号隔开var aa = fun2.bind(this,10,20)aa();
}

关键字:建筑网格布_太原网站优化技术_网站建设公司排行榜_昆明百度搜索排名优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: