学习JavaScript也有一段时间了,最近对JavaScrip的两个方法call、apply感兴趣,并学习了解了一下。下面是我的练习,实现目前两大主流JavaScrip框架(Prototype 、Jquery )针对数组的each方法,为了保留代码的可读性和方便了解代码的核心部分,本人没有加入过多的类型检测或容错处理代码。

Array.prototype.each=function(callback)
{
    for (var i=0;i<this.length;i++)
    {
       callback.call(this,this[i]);
    }
}
var arrayObject=["JavaScript","Prototype","Jquery"];
arrayObject.each(function(x){alert(x)});

代码解释: 用prototype方法给JavaScrip的数组对象Array加一个方法each,each方法传入一个回调函数callback,callback内部根据当前调用数组对象长度循环执行callback方法,callback方法在执行时内部this就指当前调用,并传入一个参数this[i]为数组当前索引对象。上面代码运行时会顺序看到弹出对话框显示"JavaScript","Prototype","Jquery"。

转载于:https://www.cnblogs.com/webflash/archive/2009/07/02/1515886.html

我的each方法——JavaScript Array相关推荐

  1. JavaScript:Array属性方法

    var arr=[1,2,3,4,5]; console.dir(arr); var pro=Object.getPrototypeOf(arr); console.dir(pro); 来一个个的查看 ...

  2. [ Typescript 手册] JavaScript `Array` 在 Typescript 中的接口

    [ Typescript 手册] JavaScript `Array` 在 Typescript 中的接口 本文地址:https://blog.csdn.net/qq_28550263/article ...

  3. JavaScript -- Array进阶详解

    如没有特别说明,测试宿主环境为Node.js 文章目录 前言 一.逗号创建数组 二.容易忽略的.length 三.检测数组的两种方法 四.迭代器方法(返回迭代器) 五.迭代方法(返回boolean值或 ...

  4. JavaScript Array对象用于定义数组

    数组定义格式 方式1: var 变量名 = new Array(元素列表); var arr = new Array(1,2,3); //1,2,3 是存储在数组中的数据(元素) 方式2:var 变量 ...

  5. ruby array_在Ruby中使用Array.pop和Array.shift方法从Array中删除元素

    ruby array Ruby Array.pop和Array.shift方法 (Ruby Array.pop and Array.shift methods) If you are reading ...

  6. _.uniq_在Ruby中使用Array.compact和Array.uniq方法从Array中移除元素

    _.uniq Ruby Array.compact和Array.uniq方法 (Ruby Array.compact and Array.uniq Methods) In the last artic ...

  7. JavaScript Array对象 知识点总结

    1 isArray方法 该方法是Array对象的静态方法,用来判断一个值是否为数组,它可以弥补typeof运算符的不足. 用法是Array.isArray(array实例) 通用的判断对象数据类型的方 ...

  8. JavaScript Array --map()、filter()、reduce()、forEach()函数的使用

    题目: 1.得到 3000 到 3500 之内工资的人. 2.增加一个年龄的字段,并且计算其年龄. 3.打印出每个人的所在城市 4.计算所有人的工资的总和. 测试数据: function getDat ...

  9. javascript Array系列函数之14:every函数

    一.every, 是数组原型上的方法,Array.prototype.every 二.every的第1个参数是函数 示例 : var data = [1,3,5]; var ret = data.ev ...

  10. JavaScript - Array对象的使用 及 数组排序 sort

    <html><head><head><body><script language="javascript">// Arr ...

最新文章

  1. 小余学调度:调度指令票系列讲解1(持续更新中ing)
  2. java chinapay_通过PHP/Java Bridge来实现ecshop的chinapay支付接口
  3. C/C++ 如何劫持别人家的命令||函数||程序(只能对于window而言)
  4. 【CF#192 A】Funky Numbers (二分,查找,二元组)
  5. 矩池云conda创建指定cuda cudnn tf版本的虚拟环境
  6. html中logo不变形,CSS3如何实现LOGO中的文本变形动画
  7. Linux虚拟机中安装vim(超详细)
  8. 【图算法】(3) 网络的基本静态几何特征(二),附networkx完整代码
  9. excel文档插入新列报错:为了防止数据丢失,excel不能从表中移走非空单元格。
  10. [HAOI2014] 贴海报
  11. Mac下Qt for android 环境配置
  12. opencl 核函数创建存储器对象以实现向量
  13. 1024程序员节开幕,龙蜥多位技术专家参与演讲
  14. 我对2021年前端团队的规划
  15. MONTHS_BETWEEN函数使用
  16. 计算机正确的坐姿教案,【幼儿园坐姿教案】幼儿园大班坐姿教案_关于幼儿坐姿的教案_亲亲宝贝网...
  17. 2021年图灵奖简介
  18. 实现AI角色的自主移动——操控行为
  19. Datawhale 10月学习-Free excel 学习笔记--excel函数3--FILTER,SUMIF,SUBTOTAL
  20. CSS圆角边框-盒子阴影-文字阴影

热门文章

  1. wps python 自动化_用Python控制Excel实现自动化办公,手把手教你
  2. Prototype使用$$()函数
  3. [渝粤教育] 重庆电子工程职业学院 信息技术与人工智能基础 参考 资料
  4. 你必须掌握的Python数据分析工具之Numpy
  5. hadoop和spark相关参数的配置
  6. 字符串转码中文乱码问题的进一步理解 UTF-8 GBK转码
  7. 【NOIP2014模拟8.25】设备塔
  8. 使用sp_addlinkedserver、sp_dropserver 、sp_addlinkedsrvlogin和sp_droplinkedsrvlogin 远程查询数据...
  9. enum class
  10. [Nescafé41]异化多肽(多项式求逆元)