单独的简单介绍,后续再补上一些资料.  

对象转换为数组.

 /**
* slice : 数组->slice(截取)
* 参数有两个,开始截取和结束截取,并返回原数组:
* a.slice(1) || a.slice(1,3) => a.slice(start) || a.slice(start,[end])
*
*/
var a = [1, 5, 7, 8, 9];
var b = a.slice(1, 3);
// console.log(b); /**
* call:对象->call()
* 源于:MDN示例 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call
* 语法:function.call(thisArg, arg1, arg2, ...)
* 参数:
* thisArg 可选的。注意,this可能不是方法看到的实际值:如果方法是非严格模式下的函数,null并且undefined将被全局对象替换,则原始值将被转换为对象。
* arg1, arg2, ...可选的。函数的参数。
* 描述:
* 该call()允许函数/方法属于被分配并要求一个不同的对象一个对象。
* call() 为 函数/方法提供了这个新值。使用 call,您可以编写一次方法,然后在另一个对象中继承它,而不必重写新对象的方法。
*/
function product(name, price) {
this.name = name;
this.price = price;
} function food(name, price) {
product.call(this, name, price);
} console.log(new food('cheese', 6).name, 'food函数,成功调用起product的函数'); // function disInfo() {
// console.log('恭喜你成功调用起call!~');
// }
// console.log(disInfo.call()) function toArray() {
return [].slice.call(arguments);
// return [].slice.call(arguments,0);
// return Array.prototype.slice.call(arguments);
}
console.log(toArray(1, 3, 5, 6, 7)); /**
* Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组
*/ var obj = {
length: 3,
0: 'a',
1: 'b',
2: 'c'
} var obj_1 = {
0: 'a',
1: 'b',
2: 'c'
} console.log(obj.length)

ES6写法:

 //  ES6新出的方法,必须要求提供其长度,才能正确换为数组
let arrayLike = {
'0': 'a',
'1': 'b',
'2': 'c',
length: 3
};
console.log(Array.from(arrayLike));

Array.prototype.slice.call 和 slice以及call的更多相关文章

  1. 【javascript 技巧】Array.prototype.slice的妙用

    Array.prototype.slice的妙用 开门见山,关于Array 的slice的用法可以参考这里 http://www.w3school.com.cn/js/jsref_slice_arra ...

  2. Array.prototype.slice.call(arguments)

    Array.prototype.slice.call(arguments)能够将具有length属性的对象转化为数组, 可以理解为将arguments转化成一个数组对象,让它具有slice方法 如: ...

  3. IE下Array.prototype.slice.call(params,0)

    i8 不支持 Array.prototype.slice.call(params,0) params可以是 HTMLCollection.类数组.string字符串

  4. (转)Array.prototype.slice.call自解

    很多框架或者库里面都会有这句的使用,最多的还是通过Array.prototype.slice.call(arguments,0)把arguments这个伪数组转换为真正的数组.但为什么可以这么做,却一 ...

  5. 详解 Array.prototype.slice.call(arguments)

    首先,slice有两个用法,一个是String.slice,一个是Array.slice,第一个返回的是字符串,第二个返回的是数组 在这里我们看第二个方法 1.在JS里Array是一个类 slice是 ...

  6. Array.prototype.slice && Array.prototype.splice 用法阐述

    目的 对于这两个数组操作接口,由于不理解, 往往被误用, 或者不知道如何使用.本文尝试给出容易理解的阐述. 数组 什么是数组? 数组是一个基本的数据结构, 是一个在内存中依照线性方式组织元素的方式, ...

  7. Array.prototype.slice.call(document.querySelectorAll('a'), 0)

    Array.prototype.slice.call(document.querySelectorAll('a'), 0)的作用就是将一个DOM NodeList 转换成一个数组. slice()方法 ...

  8. Array.prototype.slice.call

    Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组 ,::'age'}; Array.prototype.slice.call(arr); ...

  9. Array.prototype.slice.call(arguments) 类数组转成真正的数组

    Array.prototype.slice.call(arguments)   我们知道,Array.prototype.slice.call(arguments)能将具有length属性的对象转成数 ...

  10. JavaScript 兼容 Array.prototype.slice.call

    IE9之前的IE版本的HTMLCollection以及NodeList不是Object的子类. 在通过Array.prototype.slice.call进行数组化的时候,IE9之前的IE版本会抛出异 ...

随机推荐

  1. Can you find it? HDU - 2141 (二分查找)

    Give you three sequences of numbers A, B, C, then we give you a number X. Now you need to calculate ...

  2. POJ 1222【异或高斯消元|二进制状态枚举】

    题目链接:[http://poj.org/problem?id=1222] 题意:Light Out,给出一个5 * 6的0,1矩阵,0表示灯熄灭,反之为灯亮.输出一种方案,使得所有的等都被熄灭. 题 ...

  3. BZOJ3052 [wc2013] 糖果公园 【树上莫队】

    树上莫队和普通的序列莫队很像,我们把树进行dfs,然后存一个长度为2n的括号序列,就是一个点进去当作左括号,出来当作右括号,然后如果访问从u到v路径,我们可以转化成括号序列的区间,记录x进去的时候编号 ...

  4. 2017-2018-1 JAVA实验站 冲刺 day07

    2017-2018-1 JAVA实验站 冲刺 day07 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 写博客.进行工作总结 100% 齐力锋 部分按钮图片.对按钮图片进行ps 100 ...

  5. php -- php读取sqlserver中的datetime出现的格式问题

    php连接sqlserver2005时,读取出来的数据是01 15 2014 12:00AM, 也就是说日期的格式是MM DD YY hh:mmAM 那如何把它转变成24小时制,且显示的格式为YY-M ...

  6. python开发_类型转换convert

    在python的开发过程中,难免会遇到类型转换,这里给出常见的类型转换demo: int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float ...

  7. Codeforces Beta Round #10 B. Cinema Cashier 暴力

    B. Cinema Cashier 题目连接: http://www.codeforces.com/contest/10/problem/B Description All cinema halls ...

  8. 转:IntelliJ IDEA 2016.1.3注册破解激活

    IntelliJ IDEA 2016.1.3下载地址 https://download.jetbrains.8686c.com/idea/ideaIU-2016.1.3.exe 用注册码激活: 激活码 ...

  9. 用rem设置文字大小

    一.px与em 用px设置文字大小是再正常不过的事情,比如 html {font-size: 12px;} 随处可见的在设置width.height使用px,这也是细致稳妥的设置方法,这样做的缺点在于 ...

  10. JAVA包管理

    package cn.java.mybole; class test6 { public static void main(String[] args) { System.out.println(&q ...