3种方法改变this的指向
Posted zhang-hong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3种方法改变this的指向相关的知识,希望对你有一定的参考价值。
<body>
<div style="width: 200px;height: 200px;hotpink;"></div>
<script>
const fn = function(a,b){
console.log(this.name + this.age + "是个大傻瓜" + a + b )
}
const obj = {
name:"JACK",
age:18
}
</script>
fn.call(obj,1,2) // 1、call 此时fn内部的this指向的就是指定的dv
只需要让 fn 函数内部的 this 指向 obj 就可以使用 Obj.name
第一个参数就是 要让 this 指向谁就写那个东西
从第二个参数开始 就是依次给函数传参
fn.apply(obj,[1,2]) // 2 apply 第一个参数 也是 this 的指向 第二个参数 是一个数组 数组里面的数据就是依次给函数传参
fn.bind(obj)(1,2) // 3、bind 不会立即调用 会返回一个已经改变 this 指向的新的函数
bind 第一个参数 也是 this 的指向
如果要传参 要写在 第二个 () 里面
上面三种方法都是改变this的指向。
以上是关于3种方法改变this的指向的主要内容,如果未能解决你的问题,请参考以下文章