js中关于this的指向
Posted Infogami
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中关于this的指向相关的知识,希望对你有一定的参考价值。
为什么需要this
- this提供了一种更优雅的方式来隐式“传递”一个对象引用,因此可以将API 设计得更加简洁并且易于复用
它的作用域
- 它在任何情况下都不指向词法作用域。
定义
- 每个函数的this 是在调用时被绑定的,完全取决于函数的调用位置
绑定规则
- 默认绑定
- 隐式绑定
- 显示绑定
- new绑定
优先级
模拟call方法。
Function.prototype.mycall = function(context,...args){
context = context ?? window
//obj.fn1
context.fnxxxx = this
const r = context.fnxxxx
delete context.fnxxxx
return r
}
function f1(){
console.log(1)
}
function f1(){
console.log(1)
}
//分析下
f1.mycall(f2)
f1.mycall.mycall(f2)
模拟bind方法
以上是关于js中关于this的指向的主要内容,如果未能解决你的问题,请参考以下文章