apply()方法和call()方法
来源:互联网 发布:网络架构图怎么做 编辑:程序博客网 时间:2024/06/05 17:22
学js有一段时间啦,面试题中经常看到对apply()方法和call()方法的考察,通过查阅资料和做题,现在对call()方法和apply()方法做一个个人的总结,不足之处请纠正。
我们可以将apply()和call()看成某个对象的方法,通过调用方法的形式来间接调用函数。
两者其实是相同的,不同的地方就是传入的参数格式不一样而已,apply()和call()传入的第一个参数是调用函数的母对象,在函数体内通过this来获取对它的引用。要想以对象o的方法调用函数f(),可以这样使用call()和apply()方法。
f.call(o);
f.apply(o);
在ECMAScript 5的严格模式中,call()和apply()的第一个实参都会变成this的值。两者不同的地方在于:
/*apply()方法*/function.apply(thisObj[, argArray])/*call()方法*/function.call(thisObj[, arg1[, arg2[, [,...argN]]]]);/*apply()方法*/
可能到这里一些朋友还是不明白,那就要探究一下为什么会有call()和apply()这两个方法啦。把一些方法转给有需要的对象,或者可以说改变this的指向
以上仅个人的一些浅显理解,欢迎大家评论纠正补充
阅读全文
1 0
- call和apply方法
- call 和 apply 方法
- call()和apply()方法
- apply()和call()方法
- apply()方法和call()方法
- javascript call和apply方法
- javascript call和apply方法
- JavaScript call()和apply()方法
- jquery call方法和apply方法
- JavaScript中的apply()方法和call()方法
- jquery call方法和apply方法接触
- javascript中的call方法和apply方法
- JS中的apply方法和call方法
- js 中的 call() 方法 和 apply()方法
- JavaScript中的apply()方法和call()方法
- Js apply方法 和 call 方法详解
- call方法和apply方法的区别
- jquery call方法和apply方法接触
- linux文本处理三剑客之grep
- cmd下运行java程序--hello world
- 对自己的“平均随机数封装类”的测试
- 业务 电商 订单
- 59. Spiral Matrix II
- apply()方法和call()方法
- Gerrit使用简介
- 分割字符串
- session存入数据库
- JS之arguments 引发的一个错误
- HGDB使用-l和-L选项恢复指定的数据库对象
- Spire.PDF 教程:在C#中切换PDF层的可见性
- Meet Surprise品牌的饰品为什么值得购买
- docker-为容器添加ssh服务