在处理类数组中,发现了两种将数组方法应用于类数组的方法,现将call/apply的常用方式总结一下。

一、当做函数调用

        function print_vars(var1,var2){
console.log( var1 );
console.log( var2 );
console.log( this.name );
console.log( this.age );
}
var o = {
name:'tester',
age:
};
print_vars.call( o,,);

二、作为对象的方法,给第三方使用

var arr = {
"0":1,
"1":2,
"2":3,
length:3
};
//用数组实例的every方法应用在arr上
var rst = [].every.call(arr,function(v,i,a){
return v>0;
});
console.log( rst );

此处,用一个[]数组实例,来引用它的every方法的call方法;

三、作为原型的方法,给第三方使用

        var arr = {
"0":1,
"1":2,
"2":3,
length:3
};
var rst = Array.prototype.every.call( arr,function(v,i,a){
return v>0;
} );
console.log( "rst:"+rst );

此处,用Array的原型对象中的every方法的call方法来实现。

apply的用法与call类似,只不过以数组形式传递新参而已。

后面再继续补充,(#^.^#)~

最新文章

  1. lua
  2. [游戏学习26] MFC 时间函数 画图形
  3. Kernel Function--核函数收集
  4. 深入说明HDR
  5. POJ 1491
  6. DOM笔记(三):Element接口和HTMLElement接口
  7. iOS - 字典(NSDictionary)
  8. PAT-乙级-1003. 我要通过!(20)
  9. 【转】常用背景色RGB数值
  10. linux命令行后台运行与调回
  11. [Android学习]Activity之间传递对象和对象集合
  12. [转]URL的解析,C语言实现
  13. MonthCalendar控件
  14. Frame框架
  15. JS原生代码实现导航高亮
  16. 个人简历模板web
  17. python单元测试模块unittest
  18. vs2013安装及opencv3.0的配置
  19. python list元素为dict时的排序
  20. 【C#】使用NHibernate连接MySQL数据库及增删改查

热门文章

  1. Linux Chromium安装Adobe Flash Player
  2. web 界面设计---js提交表单
  3. 树莓派 mongodb 安装&报错处理
  4. [IT学习]华为全连接大会2017
  5. fastjson将json字符串中时间戳转化为日期
  6. How to Execute Page_Load() in Page's Base Class?
  7. codeforces round #433 div2
  8. MySQL 三种关联查询的方式: ON vs USING vs 传统风格
  9. DIV居中显示
  10. 解决axios IE11 Promise对象未定义