想要学习前端,短时间内是比较困难的,web前端要学习的内容有很多,今天小编就为大家详细的介绍一下前端中的this,指的是什么?来看看下面的详细介绍。

  前端中的this,指的是什么?

  1.this是什么

  this 是 JavaScript 中的一个关键字。依赖于函数调用的上下文条件,与函数被调用的方式有关。它指向谁,完全是由函数被调用的调用点来决定的。

  所以,this,是在运行时绑定的,与编写时的绑定无关。随着函数使用场合的不同,this 的值也会发生变化。但是有一个总的原则:那就是this 总会指向调用函数的那个对象。

  ES6中箭头函数的不绑定this。在判断this的指向时,将其看作普通的方法即可。普通的方法中的this指的是包含它的函数的this。这样一来this的指向就清楚了。

  2.call/apply

  this的指向可以通过调用对象的改变而改变,也可以通过call/apply来改变。

  调用方法为Function.call(obj,...args)/Function.apply(obj,args)。它是说用obj这个上下文去调用Function。他们的区别在于args的类型。

  3.原生实现call和apply

  最简单的call是如何调用的 func.call(obj)(obj可能为null)。

  分析该代码:某个函数要调用这个方法call,证明原生实现的方法mycall应该是函数原型上的一个方法。

  因此原生call的实现方法如下:

  myApply的实现和myCall的实现类似,只是传输参数的方式不同而已。

  4.bind是什么

  调用方法为func.bind(obj,[...args]),它会返回一个函数,这个函数是将obj绑定到func的this上之后返回的函数。

  bind的调用方式为: func.bind(obj),因此同样还是要在函数的原型上面写。

  原生实现bind的方法为:

  5.结束语

  this 总是指代了函数当前的运行环境,依赖于函数在调用时的上下文,只有在函数运行时才会进行绑定。想要判断this的指向,只需要记住:this 总会指向,调用函数的那个对象。

前端中的this,指的是什么?相关推荐

  1. 一文了解分而治之和动态规则算法在前端中的应用

    一文了解分而治之和动态规则算法 一.分而治之 1.分而治之是什么? 2.应用场景 3.场景剖析:归并排序和快速排序 二.动态规则 1.动态规则是什么? 2.应用场景 3.场景剖析:斐波那契数列 4.动 ...

  2. 栈在前端中的应用,顺便再了解下深拷贝和浅拷贝!

    详解栈在前端中的应用 一.栈是什么 二.栈的应用场景 三.前端与栈:深拷贝与浅拷贝 1.JS数据类型 (1)js数据类型的分类 (2)js数据类型的定义和存储方式 (3)js数据类型的判断方式 2.深 ...

  3. mui实现手机web前端拍照_Web前端中的常见技术名称及所实现的功能

    今天小编要跟大家分享的文章是关于Web前端中的常见技术名称及所实现的功能.熟悉Web前端工作的小伙伴都知道Web中有很多的技术,想要成为一名合格的Web前端工程师你必须要一项一项的掌握技术,如Html ...

  4. 有关WEB前端中的语义化

    作天在变卖大学书籍时也不晓得怎么的就想起语义化这个概念,于是乎也就花点时间搞搞它.语义化标记对于刚学web前端脚本语言的童鞋来说往往都没太 在意,哇哈哈,其实我也就算只比较老的菜鸟而已,本文不是说教, ...

  5. 交通外场及内场设备 前端中端后端设备

    最近,做了一些横向,对于实际工程中的交通行业有了更深的认识,项目主要是做智慧交通的可研.其中便涉及很多很多的智慧交通设施设备,在此记录一些常用的叫法. 1.交通外场及内场设备 与城市智能交通相关的设施 ...

  6. 领域驱动设计在前端中的应用

    (文章末尾有抽奖送书活动) 垃圾桶现象 在开始本篇文章前,我给读者们分享一个很考验人性的有趣现象,在公司洗手间的洗漱台旁边,放置了一个垃圾桶,每次我洗完手,用纸巾擦干手后,将其扔进垃圾桶,但是偶尔扔不 ...

  7. SLAM前端中的视觉里程计和回环检测

    1. 通常的惯例是把 VSLAM 分为前端和后端.前端为视觉里程计和回环检测,相当于是对图像数据进行关联:后端是对前端输出的结果进行优化,利用滤波或非线性优化理论,得到最优的位姿估计和全局一致性地图. ...

  8. php设计模式中的类型安全 指--只接受特定的对象 ---以避免发生错误

    在百度百科中---类型安全代码指访问被授权可以访问的内存位置 转载于:https://www.cnblogs.com/zuoxiaobing/p/3581743.html

  9. linux命令chmod如果当前用户属于多个组,那这个命令中的g指的是哪个组?按什么规则?

    linux命令chmod如果当前用户属于多个组,那这个命令中的g指的是哪个组?按什么规则? 比如这种命令 chmod u=rwx,g=rw,o=r /home/test1 主用户组,即id命令显示的g ...

最新文章

  1. string类的用法详解
  2. C++中auto关键字
  3. java注册登录客户端_GitHub - a-voyager/LoginSystem_Client: 登录注册系统(桌面客户端)——Java课程实践...
  4. OpenSAP Fiori Elements 公开课第四单元视频的中文字幕
  5. 十、最大熵模型与EM算法
  6. PHP autoload实践
  7. VC无进程木马下载器源码(利用IE隐藏进程)
  8. python中终结一个循环的保留字_【单选题】以下可以终结一个循环的保留字是() (2.0分) A. if B. break C. exit D. continue...
  9. 制图小课堂:美国机场可视化黑白围棋风格专题
  10. 使用vscode编写html代码
  11. 计算机大赛获奖作品动画,全国xx杯说课大赛计算机类一等奖作品:《遮罩动画》说课课件...
  12. 任务调度ScheduledExecutorService
  13. 应用市场免费推广资源合集
  14. 如何用PS把照片变成红/白/蓝底
  15. 中国筋膜枪行业销售状况及营销前景预测报告(2022-2027年版)
  16. 近期共享打印机出现打印或联机错误代码为0x0000000b11故障的处理方法
  17. ​iPhone 14 Pro 全系降价 700 元;Gmail 之父:有了 ChatGPT,搜索引擎活不过两年了|极客头条
  18. pd.melt() vs reshape2::melt()
  19. STM32G0学习手册——使用SWD接口进行调试 (HAL库)
  20. 教会你们taobao/Tmall,1688,pinduoduo获得商品详情 API 返回值说明

热门文章

  1. SQL-54 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。
  2. React 16.8.6 发布,构建用户界面的 JavaScript 库
  3. 巧用gh-pages分支发布自己的静态项目
  4. C++编程思想重点笔记(上)
  5. Mysql实现非程序控制读写分离
  6. 洛谷P1074 靶形数独(跳舞链)
  7. Win10 | Mac 在server上统一办公
  8. 搭建redis给mysql做缓存
  9. 万能android调用webservice方法——参数类型不受限制
  10. (zt)Web 2.0奔路进行时