美文网首页
JS|this特性

JS|this特性

作者: Confucianmen大宇 | 来源:发表于2022-12-28 11:45 被阅读0次

this是执行上下文中的属性,它指向最后一次调用这个方法的对象。在实际开发中,this 的指向可以通过四种调用模式来判断。
● 第一种是函数调用模式,当一个函数不是一个对象的属性时,直接作为函数来调用时,this 指向全局对象。
● 第二种是方法调用模式,如果一个函数作为一个对象的方法来调用时,this 指向这个对象。
● 第三种是构造器调用模式,如果一个函数用 new 调用时,函数执行前会新创建一个对象,this 指向这个新创建的对象。
● 第四种是 apply 、 call 和 bind 调用模式,这三个方法都可以显示的指定调用函数的 this 指向。其中 apply 方法接收两个参数:一个是 this 绑定的对象,一个是参数数组。call 方法接收的参数,第一个是 this 绑定的对象,后面的其余参数是传入函数执行的参数。也就是说,在使用 call() 方法时,传递给函数的参数必须逐个列举出来。bind 方法通过传入一个对象,返回一个 this 绑定了传入对象的新函数。这个函数的 this 指向除了使用 new 时会被改变,其他情况下都不会改变。

这四种方式,使用构造器调用模式的优先级最高,然后是 apply、call 和 bind 调用模式,然后是方法调用模式,然后是函数调用模式。

call() 和 apply() 的区别?

它们的作用一模一样,区别仅在于传入参数的形式的不同。
● apply 接受两个参数,第一个参数指定了函数体内 this 对象的指向,第二个参数为一个带下标的集合,这个集合可以为数组,也可以为类数组,apply 方法把这个集合中的元素作为参数传递给被调用的函数。
● call 传入的参数数量不固定,跟 apply 相同的是,第一个参数也是代表函数体内的 this 指向,从第二个参数开始往后,每个参数被依次传入函数。

相关文章

  • JS|this特性

    this是执行上下文中的属性,它指向最后一次调用这个方法的对象。在实际开发中,this 的指向可以通过四种调用模式...

  • 前端技能概况

    html 块级元素、行内元素、盒子模型 H5新特性 css css3新特性 flex 布局 动画 js js基础 ...

  • js函数特性

    | 上一章 |目录| 下一章 | 三、js函数特性 1、参数可边长函数 也可以不给函数定义形参,直接用argume...

  • JS 语言特性

    this this的值由函数的调用方式决定(注意直接调用和引用后调用的区别),并且不能在执行期间被赋值。 直接调用...

  • Angular js特性

    一、Angular四大特性之一---MVC 声明一个ng的应用程序 ng-App 创建一个自定义的模块:angul...

  • JS新特性

    ES ES5 ES6 箭头函数 Promise Symbol属性 Iterator Generator async...

  • JS语言特性

    JavaScript是一种高级的、解释型的编程语言;它是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面...

  • JS 高级特性

    什么是对象 万物皆对象 我们可以从两个层次来理解(1)对象是单个事物的抽象(2)对象是一个容器,封装来属性(pro...

  • React入门(一)

    React 一. js复习 重新理解javascript(适合快速浏览复习闭包等基础的js知识)。快速复习js特性...

  • intro.js —— 网站向导和特性介绍工具

    intro.js 是 JavaScript/HTML/CSS 编写的网站向导和特性介绍工具。 主要特性 1. 无依...

网友评论

      本文标题:JS|this特性

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