array.prototype.silce.call 理解分析
Array.prototype.slice.call(thisArg[, arg1[, arg2[, ...]]])
成员介绍:
Array 数组对象
prototype [property]
是javascript中对象的属性,用来返回对象的原型引用,可以动态的给此添加方法和属性,对象如array,object,或者用户定义的对象,详细请看这里
slice [Function]
用原array对象,截取指定部分返回一个新的Array 对象,详细请看这里
call [Function] call([thisObj[,arg1[, arg2[, [,.argN]]]]])
调用一个对象的一个方法,以另一个对象替换当前对象,详细请看这里。
以上逐一理解后,然后就好理解了
Array.prototype.slice.call(thisobj,start,end) 就是把thisobj对象通过call方法切割成一个新的数组
如下:
call
function fn() {
a = Array.prototype.slice.call(arguments,2);
alert(a);
}
fn(1,2,3,5);
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
相关推荐
-
array.prototype.silce.call 理解分析
Array.prototype.slice.call(thisArg[, arg1[, arg2[, ...]]])成员介绍: Array 数组对象 prototype [property]是javascript中对象的属性,用来返回对象的原型引用,可以动态的给此添加方法和属性,对象如array,object,或者用户定义的对象,详细请看这里 slice [Function]用原array对象,截取指定部分返回一个新的Array 对象,详细请看这里 call [Function] cal
-
Array.prototype 的泛型应用分析
题目 请说明下面语句的输出: 复制代码 代码如下: x = {shift:[].shift}; x.shift(); console.info(x.length); 如果你回答正确,那么说明你已经了解 Array 函数的泛型应用.在理解这到题目之前,我 我们首先要了解数组(Array)的 shift 定义. MDC 中已经对相关的说明描述得非常的清楚 复制代码 代码如下: shift is intentionally generic; this method can be called or a
-
Javascript中Array.prototype.map()详解
在我们日常开发中,操作和转换数组是一件很常见的操作,下面我们来看一个实例: 复制代码 代码如下: var desColors = [], srcColors = [ {r: 255, g: 255, b: 255 }, // White {r: 128, g: 128, b: 128 }, // Gray {r: 0, g: 0, b: 0 } // Black ]; for (var i = 0, ilen = sr
-
js使用Array.prototype.sort()对数组对象排序的方法
本文实例讲述了js使用Array.prototype.sort()对数组对象排序的方法.分享给大家供大家参考.具体分析如下: 在讲对数组对象进行排序时,我们先来简单的了解一下Array.prototype.sort().sort方法接受一个参数--Function,function会提供两个参数,分别是两个进行比较的元素,如果元素是String类型则通过Unicode code进行比较,如果是Number类型则比较值的大小.如果比较的函数中返回1则两个元素交换位置,0和-1不交换位置.先看一个例
-
为JS扩展Array.prototype.indexOf引发的问题及解决办法
Array没有indexOf方法,这样在一个数组中查找某个元素的索引时比较麻烦,为了调用方便,于是通过prototype原型扩展了Array.prototype.indexOf(),这样用起来就比较方便了.但是这个自定义的indexOf在对数组进行遍历的时候却出现了问题. 复制代码 代码如下: Array.prototype.indexOf = function(item) { for (var i = 0; i < this.length; i++) { if (this[i] == it
-
浅谈javascript的Array.prototype.slice.call
写字前面 在js中我们经常会看到Array.prototype.slice.call(arguments,0)的写法,当然,这个方法的作用也许大家都明白,那就是把类数组对象转换成一个真正的数组.关于这个方法,我说说自己的理解. 这里涉及到slice()方法和call()方法,所以先简单说说这两个方法. slice()方法 数组和字符串都有这个slice方法,这个方法的作用是截取一段数据.它接收两个参数,第一个参数是要截取的位置索引,第二参数可选,表示要截取到的结束位置,但是不包括结束位置.在数组
-
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
Array没有indexOf方法,这样在一个数组中查找某个元素的索引时比较麻烦,为了调用方便,于是通过prototype原型扩展了Array.prototype.indexOf(),这样用起来就比较方便了.但是这个自定义的indexOf在对数组进行遍历的时候却出现了问题. Array没有indexOf方法,这样在一个数组中查找某个元素的索引时比较麻烦,为了调用方便,于是通过prototype原型扩展了Array.prototype.indexOf(),这样用起来就比较方便了. 复制代码 代码如下
-
JS中prototype的用法实例分析
本文实例讲述了JS中prototype的用法.分享给大家供大家参考.具体分析如下: JS中的phototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展.我们称B的原型为A. 2 javascript的方法可以分为三类: a 类方法 b 对象方法 c 原型方法 例子如下: function People(name
-
Vue源码中要const _toStr = Object.prototype.toString的原因分析
在vue的源码中,vue/src/shared/util.js文件中存放的是一些方法.其中作者用了Object.prototype.toString这个方法来判断类型,但是并没有直接用,而是单独保存在一个变量: const _toStr = Object.prototype.toString 那么为什么要这么做呢? 先说下判断类型.众所周知,typeof在判断对象时不能正确判断Null,并且不能识别出Array,但在判断基础类型时是没问题的.所以尤大也写了: export function is
-
数据排序谁最快(javascript中的Array.prototype.sort PK 快速排序)
但是让我感到意外的是,下面有个网友回复说,javascript中的Array本身的sort方法才是最快的,比快速排序算法都快,当时看到了很是郁闷,因为当时花了好长时间在排序算法上,居然忘记了Array本身的sort方法 不过javascript中内置的sort方法真的比快速排序算法还快吗? 哈哈,测试一下不就知道了 先说一下我测试的环境 1,我的测试环境是IE6.0和firefox2.0 2,每种算法有很多种不同的实现方法,下面测试中我选择上面网友实现的快速排序算法,只是把内嵌函数搬到了外面 3
随机推荐
- Windows Powershell 自动化变量
- 详解javaweb中jstl如何循环List中的Map数据
- 在Python的Django框架中使用通用视图的方法
- jsp有两个按钮来控制Timer的开始和结束方法
- C#事件用法实例浅析
- Android判断字符串中是否含字母、中文或数字
- Android项目类似淘宝 电商 搜索功能,监听软键盘搜索事件,延迟自动搜索,以及时间排序的搜索历史记录的实现
- 了解WEB页面工具语言XML(二)定义
- 叛逆偶像马云:突破常规 不愿给商务部打工
- 实例讲解Lua中pair和ipair的区别
- C 语言常用方法技巧
- JavaScript之map reduce_动力节点Java学院整理
- 动态调用CSS文件的JS代码
- Flex与.NET互操作(十二):FluorineFx.Net的及时通信应用(Remote Shared Objects)(三)
- Android编程获取通知栏高度的方法
- Android实现通讯录效果——获取手机号码和姓名
- Bootstrap 实现查询的完美方法
- 手把手教你用ViewPager自定义实现Banner轮播
- sqlserver2008首次登录失败问题及解决方法
- Windows 64位下python3安装nltk模块