美文网首页Web前端之路
js中的this的使用笔记

js中的this的使用笔记

作者: 喆哲 | 来源:发表于2022-03-10 21:05 被阅读0次

在js的代码封装上this的应用是非常需要的,能够在调用的时候,可以让函数的获取变量环境动态的变化,这样在使用封装函数的时候可以切换所需要的变量环境,会更加的灵活,所以函数的this指向取决于调用的方式,而this的调用绑定绑定的方式一共分为四种

默认绑定

如果直接调用的函数this会指向全局

function test1() {
    console.log(this) // window全局对象
}
test1()

隐式绑定

通过某个对象进行调用的函数,会间接的将this绑定到了这个引用的对象上

function test2() {
    console.log(this) // obj对象
}
var obj = {
    name: "1",
    test2: test2
}
obj.test2()

显示绑定

使用call和apply、bind方法将需要this对象通过参数传入

function test3(a, b, c) {
    console.log(this, a, b,c) 
    // 1、obj对象 1 2 3
    // 2、obj对象 4 5 6
    // 3、obj对象 0 0 0
 }
 var obj = {
   name: "obj"
 }
test3.call(obj , 1,2,3)
test3.apply(obj , [4,5,6])
var test4 = test3.bind(obj, 0, 0 ,0)
test4()

new绑定

绑定到函数调用的this上,如果函数没有返回其他对象,表达式会返回这个新对象

function foo(number) {
    this.number = number
    console.log(this) // foo对象
}
  
var p1 = new foo(1)
console.log(p1.number) // 1

箭头函数

箭头函数是不绑定this的方法,本身箭头函数不绑定this,而是由该函数的外层作用域来决定this的指向。

绑定的优先级

默认绑定 < 隐式绑定、 bind绑定 < 显示绑定、new绑定 (call和apply不能同时使用所以不存在优先级的问题)

相关文章

  • js中的this的使用笔记

    在js的代码封装上this的应用是非常需要的,能够在调用的时候,可以让函数的获取变量环境动态的变化,这样在使用封装...

  • Swift & JS

    1.使用JS文件中的方法和变量 2.直接使用OC中写JS语句来调用 3.OC中的方法写入JS,JS可以使用OC中的...

  • JS中this的使用

    this是JavaScript中的关键字,指向调用函数的对象。下面分几种场景分析。 全局函数内 this指向的是w...

  • [ie]判断ie浏览器版本

    js中的使用 ↓ css中的使用 ↓

  • 前端基础知识学习---Vue.js学习(一)模板语法

    Vue.js学习笔记 Vue.js的使用之HelloWord 引入Vue.js 创建Vue对象其中el:指定根el...

  • zTree.js的使用

    zTree.js的使用 zTree学习笔记一:实现checkbox、全选、取消全选功能

  • Vue 公共JS里访问vue的实例

    main.js 需要使用实例的 js 文件中

  • js中递归的使用

    自己调用自己,称为递归调用 举例 求阶乘 斐波那契数列第n项 快速排序 总结 相同的算法循环,寻找本次结果与上次结...

  • JS中的forEach使用

    forEach方法中的function回调支持3个参数:value:遍历的数组内容;index:对应的数组索引,a...

  • Js中Array()的使用

    Array()是在Js中经常用到,现总结常用的一些方法 声明: varlist=newArray() 赋值: li...

网友评论

    本文标题:js中的this的使用笔记

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