【JAVASCRIPT】call和apply的用法以及区别
2024-09-05 08:53:00
function add(c,d){
return this.a + this.b + c + d;
} var s = {a:"鸡", b:"你"};
console.log(add.call(s,"太","美")); // 鸡你太美
console.log(add.apply(s,["太","美"])); // 鸡你太美
两者区别:
call(this,1,2,3,4):一个是函数运行的作用域(this),另一个是必须列举出来的参数。
apply(this,arguments):一个是函数运行的作用域(this),另一个是参数数组。
两者相同点:
1、都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域;
2、this总是指向调用某个方法的对象,当你使用call()和apply()方法时,就会改变this的指向,具体指向谁,由你做主。
最新文章
- 压缩javascript文件方法
- jdk顺序表笔记
- pem转换成der
- Android资源文件简介
- nodejs笔记四--创建一个最简单的 express 应用
- netbeans设置字体
- RMQ with Shifts
- Hadoop Hive sql语法详解
- Epii.js 一个极其简单的Js模板引擎
- Mybatis源码之Statement处理器PreparedStatementHandler(五)
- win10.64位wnmp-nginx1.14.0 + PHP 5. 6.36 + MySQL 5.5.59 环境配置搭建 结合Thinkphp3.2.3
- P3150 pb的游戏(1)
- JAVA中字符串比较equals()和equalsIgnoreCase()的区别
- sql语句查询结果排序
- UiAutomator 代码记录: 随机创建新联系人
- 带状态论文粗读(三)[引用openstate的相关论文阅读]
- Java虚拟机15:运行期优化
- css的字体样式怎么写
- 解决MFC对话框类不能建立成功的方法(出现unable to open the files XX for class XX)
- 异常:Neither BindingResult nor plain target object for bean name 'command' available as request attribute
热门文章
- Python multiprocess模块(中)
- 【并行计算-CUDA开发】CUDA软件架构与Nvidia硬件对应关系
- NDK学习笔记-JNI开发流程
- activeMQ(1)
- python实用小功能
- arm-linux的gdb移植
- 【Python】if __name__ == '__main__' 含义解析
- Kafka主题体系架构-复制、故障转移和并行处理
- 线程的同步控制synchronized和lock的对比和区别
- [SDOI2011]消耗战 题解