浅谈泛型方法

举一个简单的例子
'abc'.split('').map(function(x) { return x.toUpperCase() })	//['A','B','C']

[].map.call('abc',function(x) { return x.toUpperCase() })	//['A','B','C']

上面两个例子,使用 map() 通常比 split() 更高效,因为后者会创建新的数组

泛型方法

  有时实例的原型具有的方法除了对继承自它的对象有用,对很多其他的对象也有用,不继承而使用原型的方法,在调用时,用 call、apply、bind 重新设置this指向,从而使用原型方法。但并不是所有方法都是泛型方法,ECMAScript会明确规范那些是泛型方法。

一些泛型方法
  • Array.prototype
    • cancat 连接两个或更多的数组,并返回结果

    • every 返回一个boolean,判断每个元素是否符合func条件
      array.every( function( currentValue, index, arr), thisValue )
      thisValue: 对象作为该执行回调时使用,传递给函数,用作 “this” 的值。

    • filter 检测数值元素,并返回符合条件所有元素的数组。

    • forEach 数组每个元素都执行一次回调函数,无返回值(能改变数组元素)

    • indexOf 返回数组中某个指定的元素位置(item,start)

    • join 把数组的所有元素放入一个字符串(item,start)

    • lastIndexOf 返回一个指定的字符串值最后出现的位置

    • map返回一个新的Array,每个元素为调用func的结果

    • pop 删除数组的最后一个元素并返回删除的元素

    • push 向数组的末尾添加一个或更多元素,并返回新的长度

    • reduce 将数组元素计算为一个值(从左到右)

    • reduceRight 将数组元素计算为一个值(从右到左)

    • reverse 反转数组的元素顺序

    • shift 删除并返回数组的第一个元素

    • slice 方法可从已有的数组中返回选定的元素(start,end)

    • some返回一个boolean,判断是否有元素是否符合func条件

    • sort 对数组的元素进行排序

    • splice 从数组中添加或删除元素(index,howmany,item1,…,itemX)

    • toLocaleString

    • toString 把数组转换为字符串,并返回结果

    • unshift 向数组的开头添加一个或更多元素,并返回新的长度

  • Date.prototype
    • toJSON
  • Object.prototype
    • 所有
  • String.prototype
    • charAt
    • charCodeAt
    • concat
    • indexOf
    • lastIndexOf
    • loacaleCompare
    • match
    • replace
    • rearch
    • slice
    • split
    • substring
    • toLocaleLowerCase
    • toLocaleUpperCase
    • toLowerCase
    • toUpperCase
    • trim
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值