前端中的this,指的是什么?
想要学习前端,短时间内是比较困难的,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.分而治之是什么? 2.应用场景 3.场景剖析:归并排序和快速排序 二.动态规则 1.动态规则是什么? 2.应用场景 3.场景剖析:斐波那契数列 4.动 ...
- 栈在前端中的应用,顺便再了解下深拷贝和浅拷贝!
详解栈在前端中的应用 一.栈是什么 二.栈的应用场景 三.前端与栈:深拷贝与浅拷贝 1.JS数据类型 (1)js数据类型的分类 (2)js数据类型的定义和存储方式 (3)js数据类型的判断方式 2.深 ...
- mui实现手机web前端拍照_Web前端中的常见技术名称及所实现的功能
今天小编要跟大家分享的文章是关于Web前端中的常见技术名称及所实现的功能.熟悉Web前端工作的小伙伴都知道Web中有很多的技术,想要成为一名合格的Web前端工程师你必须要一项一项的掌握技术,如Html ...
- 有关WEB前端中的语义化
作天在变卖大学书籍时也不晓得怎么的就想起语义化这个概念,于是乎也就花点时间搞搞它.语义化标记对于刚学web前端脚本语言的童鞋来说往往都没太 在意,哇哈哈,其实我也就算只比较老的菜鸟而已,本文不是说教, ...
- 交通外场及内场设备 前端中端后端设备
最近,做了一些横向,对于实际工程中的交通行业有了更深的认识,项目主要是做智慧交通的可研.其中便涉及很多很多的智慧交通设施设备,在此记录一些常用的叫法. 1.交通外场及内场设备 与城市智能交通相关的设施 ...
- 领域驱动设计在前端中的应用
(文章末尾有抽奖送书活动) 垃圾桶现象 在开始本篇文章前,我给读者们分享一个很考验人性的有趣现象,在公司洗手间的洗漱台旁边,放置了一个垃圾桶,每次我洗完手,用纸巾擦干手后,将其扔进垃圾桶,但是偶尔扔不 ...
- SLAM前端中的视觉里程计和回环检测
1. 通常的惯例是把 VSLAM 分为前端和后端.前端为视觉里程计和回环检测,相当于是对图像数据进行关联:后端是对前端输出的结果进行优化,利用滤波或非线性优化理论,得到最优的位姿估计和全局一致性地图. ...
- php设计模式中的类型安全 指--只接受特定的对象 ---以避免发生错误
在百度百科中---类型安全代码指访问被授权可以访问的内存位置 转载于:https://www.cnblogs.com/zuoxiaobing/p/3581743.html
- linux命令chmod如果当前用户属于多个组,那这个命令中的g指的是哪个组?按什么规则?
linux命令chmod如果当前用户属于多个组,那这个命令中的g指的是哪个组?按什么规则? 比如这种命令 chmod u=rwx,g=rw,o=r /home/test1 主用户组,即id命令显示的g ...
最新文章
- string类的用法详解
- C++中auto关键字
- java注册登录客户端_GitHub - a-voyager/LoginSystem_Client: 登录注册系统(桌面客户端)——Java课程实践...
- OpenSAP Fiori Elements 公开课第四单元视频的中文字幕
- 十、最大熵模型与EM算法
- PHP autoload实践
- VC无进程木马下载器源码(利用IE隐藏进程)
- python中终结一个循环的保留字_【单选题】以下可以终结一个循环的保留字是() (2.0分)
A. if B. break C. exit D. continue...
- 制图小课堂:美国机场可视化黑白围棋风格专题
- 使用vscode编写html代码
- 计算机大赛获奖作品动画,全国xx杯说课大赛计算机类一等奖作品:《遮罩动画》说课课件...
- 任务调度ScheduledExecutorService
- 应用市场免费推广资源合集
- 如何用PS把照片变成红/白/蓝底
- 中国筋膜枪行业销售状况及营销前景预测报告(2022-2027年版)
- 近期共享打印机出现打印或联机错误代码为0x0000000b11故障的处理方法
- ​iPhone 14 Pro 全系降价 700 元;Gmail 之父:有了 ChatGPT,搜索引擎活不过两年了|极客头条
- pd.melt() vs reshape2::melt()
- STM32G0学习手册——使用SWD接口进行调试 (HAL库)
- 教会你们taobao/Tmall,1688,pinduoduo获得商品详情 API 返回值说明
热门文章
- SQL-54 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。
- React 16.8.6 发布,构建用户界面的 JavaScript 库
- 巧用gh-pages分支发布自己的静态项目
- C++编程思想重点笔记(上)
- Mysql实现非程序控制读写分离
- 洛谷P1074 靶形数独(跳舞链)
- Win10 | Mac 在server上统一办公
- 搭建redis给mysql做缓存
- 万能android调用webservice方法——参数类型不受限制
- (zt)Web 2.0奔路进行时