在创建函数的时候,函数自身有一些属性和方法
其中有
apply、call、bind方法,这些方法都是能够改变this指向的
call:有无数的参数
第一个参数:
能够改变this指向,基本上是写啥是啥(null,undefined,设置了还是window)
从第二个参数以后,就是实参(有几个形参就对应几个实参);
function fn(a,b,c,d){console.log(this);console.log(a+b+c+d);}
fn.call(document,1,2,3,4);//改变this指向,有无数个参数
 

apply:只有2个参数
第一个参数:
能够改变this指向,基本上是写啥是啥(null,undefined,设置了还是window)
第二个参数:(数组内放置的就是实参)
数组[]
function fn(a,b,c,d){console.log(this);console.log(a+b+c+d);}
fn.apply(document,[1,2,3,4]);//改变this指向,第二个参数是数组
 

上面2个方法,都是使用之后自动执行函数。
bind,调用了bind方法不是直接执行函数,返回值就为新的函数(一般是改变this之后的函数)
若干参数:
第一个参数:
能够改变this指向,基本上是写啥是啥(null,undefined,设置了还是window),从第二个参数以后,就是实参(有几个形参就对应几个实参)
function fn(a,b,c,d){console.log(this);console.log(a+b+c+d);}
let f = fn.bind(document);
f(1,2,3,4);//改变了this指向,并且需要重新调用函数。

转载于:https://www.cnblogs.com/Allisson/p/9898032.html

this指向问题(call、apply、blind),自我理解的相关推荐

  1. 关于渗透的一些思路持续更新(自我理解)

    关于渗透的一些思路持续更新(自我理解) 先回忆一下 准确的是17年才接触到渗透以及ddos 其他hei产东西就不介绍了 接触的自我感觉有点迟 从最开始我也是从阿D明小子那些很傻瓜化的软件走过来的 但是 ...

  2. 关于OpenGL ES 3D 光晕如何产生的自我理解

    2019独角兽企业重金招聘Python工程师标准>>> 星空图的自我理解:可以看作一个透明的半径很大的天球,然后在其表面上绘制大小不一的点,这样便可以够成星空图. 如何产生光晕的自我 ...

  3. 读阿里中台战略思想有感—自我理解

    读阿里中台战略思想有感-自我理解 中台的意义在于避免项目工程建设的不断"造轮子",也就是当需求来临时,全部重新建设,核心公共模块的工程代码没有被重复利用. 阿里对于中台战略思想的实 ...

  4. Sparsity Quantization 之自我理解

    Sparsity & Quantization 之自我理解 Sparsity Quantization DNN的最初的动力是以precise为中心,但随着DNN在Edge的推广,Latency ...

  5. 我的python之路一初识python的自我理解

    初识python的自我理解 关于python的自我简记 我认识的python 怎么开始python的学习和使用 我尝试过的几个python学习的常用组合 关于python的自我简记 初识python是 ...

  6. call/apply/bind 的理解与实例分享

    call/apply 可以改变函数的this指向. 除了传递参数时有所差别,call和apply作用完全一样. var tim = { name: 'tim', age: 20, getName: f ...

  7. apply通过实例理解

    测试->运行环境chrom console >var aaa = {a:1,b:2,c:function(){console.log(this.a)}} 运行结果:undefined &g ...

  8. python黑客攻防入门下载-Python键盘钩取的自我理解(来源于《Python黑客攻防入门》)...

    最近从图书馆借到一本书<Python黑客攻防入门>,感觉里面的提供的代码模块对自己深有感触(主要我超菜),所以打算尝试写点小分析,希望大家能谅解本人的语言组织与技术分析. 希望有人来讨论. ...

  9. javascript下的arguments,caller,callee,call,apply示例及理解

    在看到大家如此关注JS里头的这几个对象,我试着把原文再修改一下,力求能再详细的阐明个中意义.在提到上述的概念之 前,首先想说说javascript中函数的隐含参数:arguments Argument ...

  10. 函数的this指向,call,apply bind改变this指向

    函数在定义的时候不会影响它的this指向,只有在调用的时候选择不同的调用方式,才会决定你this指向何处. 在独立函数调用的时候,this指向window,在调用挂载在window的函数时,前面的wi ...

最新文章

  1. SpringCloud实战与原理---快速入门
  2. 常用来进行钢结构节点输出的软件是什么_Revit中如何处理钢结构节点连接
  3. centos php日志分析,记录一下CentOS7安装GoAccess日志分析工具
  4. CCF202109-2 非零段划分(100分)【序列处理】
  5. 发字的楷书写法图片_想要不侵权?收下这篇可能是最全面的书法字设计指南!...
  6. Win10系统去掉桌面图标小箭头导致打开管理和任务栏处图标报错,且右键开始菜单无反应
  7. [从零开始unity3D]“五子连珠”游戏实现,网格数组的创建(1)
  8. 学习Vue3 第五章(Vue核心虚拟Dom和 diff 算法)
  9. 工程伦理(2021春)课后习题全部答案
  10. 忘记数据库密码怎么办
  11. 东西方企业运营的根深蒂固的差异
  12. 使用EndNote导出GB/T 7714—2015格式的参考文献
  13. 自动化测试平台(二):开发用户认证接口
  14. 微信小程序开发 - 不完善
  15. 【HTTP Live Streaming】(二)HLS 架构 部署 - 梳理
  16. mos管栅极电阻的作用-电阻在MOS电路中注意事项及参考选择方法
  17. 轻量级Kubernetes之k3s:4:离线安装与部署
  18. pgadmin 启动后无法正常进入
  19. 3. 你也要写技术博客?这篇博客告诉你平台怎么选
  20. PCM A律μ律编码

热门文章

  1. 二相漏电断路器接线图_怎么看配电柜接线图?配电柜接线图读图技巧
  2. gtx1050ti最稳定的驱动_最便宜图灵吃鸡卡 华硕GTX 1650评测
  3. 八、Linux文本编辑器vim/vi
  4. 多个注解可以合并成一个,包括自定义注解
  5. linux 命令汇总(搜索、fdfs、常用命令),虚拟机dump文件
  6. C++学习笔记 之 循环
  7. MyCAT实现MySQL的读写分离
  8. mac os 10.10下安装android studio问题:android studio was unable to find a valid jvm
  9. 两端“弱智”的HTML代码
  10. 小程序开发,不现实用户的头像!