JS函数中的 apply() 和 call()
2015-06-12 16:15
627 查看
//【JS函数属性和方法】 //1.length属性,表示函数希望接收的参数的个数 function sayName(name){ alert(name); } function sum(num1,num2){ return num1 + num2; } alert(sayName.length); //1 alert(sum.length); //2 //2.apply()方法接受两个参数:一个是在其中运行函数的作用域,另一个是参数数值 function sum(num1,num2){ return num1 + num2; } function callSum1(num1,num2){ return sum.apply(this,arguments);//传入arguments对象 } function callSum2(num1,num2){ return sum.apply(this,[num1,num2]);//传入数组 } alert(callSum1(10,10));//20 alert(callSum2(10,10));//20 //2.call()方法与apply()方法的作用相同,区别在于接收参数的方式不同 function sum(num1,num2){ return num1 + num2; } function callSum(num1,num2){ return sum.call(this,num1,num2); } alert(callSum(10,10));//20 //事实上,传递参数并非apply()和call()真正的用武之地;它们的强大的地方是能够扩充函数赖以运行的作用域。 window.color = "red"; var o = {color:"blue"}; function sayColor(){ alert(this.color); } sayColor();//red sayColor.call(this); //red sayColor.call(window); //red sayColor.call(o); //blue
相关文章推荐
- Android 使用Intent在活动之间传递数据
- 使用Monkeyrunner进行Android自动化的总结
- xe7android调用webservice
- android studio 导入jar包
- Android初学习 - 实现“重置应用偏好设置”的功能
- 论文提要“Improving Object Detection with DCN via Bayesian Optimization and Structured Prediction”
- Android优化问题。。。
- android studio创建一个工程时候报错
- Android中几种常用的Dialog
- 【iOS开发-48】九宫格布局案例:自动布局、字典转模型运用、id和instancetype区别、xib重复视图运用及与nib关系
- 快速掌握Android三个常用自定义控件Toast AlertDialog Notification
- 浅谈JAVA反射机制在Android应用开发中的应用
- Android设计模式(十二)--抽象工厂模式
- UIAppearance的使用
- android avd sdk root
- Android 使用SQLite
- Android自动化测试之MonkeyRunner
- [Obj-C笔记] "self = [super init]"的解释与潜藏bug
- 字符设备-seria.c tty_io.c seria.c rs_io.s tty_iocnl.c tty.h termios.h keyboard.s源码分析
- Android_ContentProvider详解