JavaScript设计模式与开发实践-第2章-this、call和apply

news/2024/7/4 15:33:51

1、this的指向

三种情况:

  • 对象方法中的this
  • 普通函数中的this
  • 构造器中的this

需要注意:

  • 普通函数中的this在ES5中的strict模式下有所变化
  • 构造器中如果显式返回了一个对象,那么返回的将不是this所指向的对象
  • call和apply用来修改传入函数的this的指向

 

2、call和apply

两者的第一个参数都是指定this的指向,如果传入null,那么函数中的this指向原来的对象,浏览器中就是window

不同之处:call只接受两个参数,apply可接受不固定数量的参数

他们的用处:

  • 改变this指向
  • 模拟Function.prototype.bind
  • 借用其他对象的方法

 

3、Function.prototype.bind

转载于:https://www.cnblogs.com/magicshow/p/5304070.html


http://www.niftyadmin.cn/n/2266061.html

相关文章

VScode前端常用快捷键

功能快捷键添加多行缩进tab删除多行缩进shift tab添加多行注释ctrl/撤销ctrlZ恢复刚才的撤销ctrlshiftZ全部替换ctrlH命令面板(css tree)ctrlshiftP

OSChina 周二乱弹 ——爱酱,老司机前来自首了

2019独角兽企业重金招聘Python工程师标准>>> 独孤青冥 : 月光下的凤尾竹 月光下的凤尾竹 - 葫芦丝 手机党少年们想听歌,请使劲儿戳(这里) javaQ : 秋季甚好…… 对呀没蚊子咬你。 还有啊, 没几天就中秋放假啦&#xff…

AB测试结果分析

AB测试,200个请求,20个并发.这样的测试强度,CPU占了70-80%,w3p占用了70多M内存,本想多测几次,看看它的内存会不会涨上去,没 有测试机器没办法,开发机要干活.我估计CPU就有问题了,性能有好些个地方还需要优化.顺便把测试的工具用法作个记号基本用法:ab -n 全部请求数 -c 并发数 …

夺命雷公狗---DEDECMS----20dedecms取出栏目页对应的内容

取出栏目页对应的内容 现在我们的栏目页面是可以完全正常跳转了,那么我们现在需要完成的就是让他的内容全部(电影,连续剧,综艺)分类的显示出来。 我们还是要使用{dede:arclist}标签来取出我们所需要的内容,…

Docker(一)之 应用(Application)部署容器化的演进之路

前言 容器化技术可以帮助企业更大化资源利用,同时帮助项目相关人员(开发、运维、测试、安全等)以最小的成本实现项目快速上云部署,掌握容器化管理工具Docker,就掌握了云原生最基础、最核心技术之一 应用(…

将CnetOS 6.5加入Windows域中

我相信,很多公司都有统一身份认证的需求,只是这个统一认证很多公司都没有彻底完成,比如我见到的很多企业都使用Windows AD来管理办公电脑,笔记本等运行windows操作系统的计算机,而IDC机房大多是Linux系统的服务器&…

Vue 3.x 指令整理

1.v-text(设置标签的文本值) //html: <div id"app"><h2 v-text"message!"></h2> //标签里的内容全部改变<h2>学习{{message"!"}}</h2> //推荐写法&#xff0c;标签里的内容可部分改变 </div>//js: const a…

方法的重载overload

/*方法的重载overload * 重载&#xff1a;在同一个类里可以定义一个或者一个以上的方法 * 参数类型不一致 * 参数数量不一致 * */ 1 public class Chongzai {2 String uniqueID;3 public int addNums (int a,int b){4 return ab;5 }6 publ…