javascript 中的 arguments,callee.caller,apply,call 区别
2024-08-26 02:21:13
记录一下:
1.arguments是一个对象, 是函数的一个特性,只有在函数内才具有这个特性,在函数外部不用使用。
举例:
function test(){ alert( typeof arguments); //object } alert( typeof arguments); //undefined |
2.callee,caller
callee 表示当前正在使用的函数,例如 arguments.callee 表示test
caller 表示当前函数的调用者,如果在最顶层 那么就为 null ,如 test() 为 null ;test2() 为test
function test(){ alert(arguments.callee); alert(arguments.callee.caller); } function test2(){ test(); } test(); test2(); |
3.apply,call
是函数原型的一个方法,调用者的类型必须是函数。官方解释:应用某一对象的一个方法,用另一个对象替换当前对象。简单的讲,就是对象置换
apply和call的区别:方法传递的参数不同
fun.call(this, arg1,arg2,arg3) == fun.apply(this, arguments)==this.fun(arg1, arg2, arg3)
最新文章
- 基于Session的国际化实现
- Java多线程编程核心技术---对象及变量的并发访问(二)
- mysql基础 事务的认识和使用
- C#图片处理示例(裁剪,缩放,清晰度,水印)
- xml语法、DTD约束xml、Schema约束xml、DOM解析xml
- phpinfo详解
- PHP header 的几种用法
- uvalive 3971 - Assemble(二分搜索 + 贪心)
- HDU 4704 Sum (费马定理+快速幂)
- JAVA进阶-注解
- 【算法系列学习】SPFA邻接表最短路 [kuangbin带你飞]专题四 最短路练习 F - Wormholes
- 升级与修改Nginx
- vector 向量容器用法祥解
- Vue 限制input输入 限数字 或 小数点后两位number
- [Hibernate] 通过 properties 类和 hql 语句进行动态查询
- js 唤起APP
- Oracle_高级功能(10) 备份恢复
- 远程登录Linux(window下操作Linux)
- Android Notification的使用 - z
- Java使用独立数据库连接池(DBCP为例)