1.对象转数组  tips 先看怎么用  再研究方法原理

var obj = {

    0: 'qian',
    1: 'long',
    2: 'chu',
    3: 'tian',
    length: 4
 
}
这里的示例 是有一些局限性的 就是对象的结构必须是这种。。。。。key 必须是数字  value 是字符串
 
1.var obj = Array.prototype.slice.call(obj)
2.var objArr = [].slice.call(obj);

3.var objArr = Array.prototype.slice.apply(obj);
console.log(obj)
 
上面  主要用到了数组的  call  apply  方法  我们下面重点研究一下
call方法  调用一个对象的方法 用另一个对象替换当前对象
call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 
call方法  可以用来代替一个对象应用一个方法  如上述示例中 对象转数组  就是用对象代替数组  对象使用数组原型上的slice方法
可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 
它的第一个参数用作 this 的对象。其他参数都直接传递给函数自身。如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 
 
function saycolor(objName,objTxt){
  alert(objName+this.color+objTxt)
}
var obj = new Object();
obj.color = "blue";
saycolor.call(obj,""yaozeyan "," color nice")
//yaozeyan blue color nice
 
apply方法 应用某一个对象的方法  用一个对象  替换当前对象
apply([thisObj[,argArray]]) 
如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 
如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。 
saycolor.apply(obj,["yaozeyan","123"]); 第二个参数 接收的是一个数组

apply call 用法的更多相关文章

  1. 转:js中this、call、apply的用法

    (一)关于this首先关于this我想说一句话,这句话记住了this的用法你也就差不多都能明白了:this指的是当前函数的对象.这句话可能比较绕,我会举出很多例子和这句话呼应的!(看下文)1.首先看下 ...

  2. 博文推荐】Javascript中bind、call、apply函数用法

    [博文推荐]Javascript中bind.call.apply函数用法 2015-03-02 09:22 菜鸟浮出水 51CTO博客 字号:T | T 最近一直在用 js 写游戏服务器,我也接触 j ...

  3. js1中call和apply的用法

    js1中call和apply的用法 е辊顷 饼蹭瑭 岚辗疥 碜坪命 笛攮鼠 鲳篝等 ざ遛膜 镀鞭冢蒯 晕 册薷濑 就不是抓了而是人拳啪啪两声两个人都被拳头打在了腿骨 许郾犍 国 ...

  4. js中apply的用法(转)

    之一------(函数的劫持与对象的复制)关于对象的继承,一般的做法是用复制法: Object.extend见protpotype.js 的实现方法: Object.extend = function ...

  5. 理解 call, apply 的用法

    callcall() 方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数. function list() { return Array.prototype.slice.call ...

  6. 区别和详解:js中call()和apply()的用法

    1.关于call()和apply()的疑点: apply和call的区别在哪里 什么情况下用apply,什么情况下用call apply的其他巧妙用法(一般在什么情况下可以使用apply) 2.语法和 ...

  7. call与apply基础用法告诉你

    Js用法中还有个极好的但是有些抽象的用法——call与apply,今天我要简单总结一下: var ob1={ //对象ob1 name:"ob1", func1:function( ...

  8. JavaScript中bind、call、apply函数用法详解

    在给我们项目组的其他程序介绍 js 的时候,我准备了很多的内容,但看起来效果不大,果然光讲还是不行的,必须动手.前几天有人问我关于代码里 call() 函数的用法,我让他去看书,这里推荐用js 写服务 ...

  9. JS中call、apply的用法说明

    JS Call()与Apply()的区别 ECMAScript规范给所有函数都定义了Call()与apply()两个方法,call与apply的第一个参数都是需要调用的函数对象,在函数体内这个参数就是 ...

  10. R语言︱数据分组统计函数族——apply族用法与心得

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:apply族功能强大,实用,可以代替 ...

随机推荐

  1. python Python程序的架构

  2. js获取url制定的某个参数

    <script>function getURLParam(strParamName, url) {    var strReturn = "";    var strH ...

  3. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十一章:模板测试

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十一章:模板测试 代码工程地址: https://github.co ...

  4. ACK容器服务发布virtual node addon,快速部署虚拟节点提升集群弹性能力

    在上一篇博文中(https://yq.aliyun.com/articles/647119),我们展示了如何手动执行yaml文件给Kubernetes集群添加虚拟节点,然而,手动执行的方式用户体验并不 ...

  5. @atcoder - AGC034E@ Complete Compress

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个 N 个点的树,编号为 1, 2, ..., N.第 i ...

  6. @NOIP2018 - D1T1@ 铺设道路

    目录 @题目描述@ @考场上的思路@ @比较正常的题解@ @题目描述@ 春春是一名道路工程师,负责铺设一条长度为 n 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 n 块首尾相连的 ...

  7. Pytorch使用tensorboardX网络结构可视化。超详细!!!

    https://www.jianshu.com/p/46eb3004beca 1 引言 我们都知道tensorflow框架可以使用tensorboard这一高级的可视化的工具,为了使用tensorbo ...

  8. HDFS概念名称节点和数据节点-基本模型

  9. div 禁止点击

    今天需要这个需求,原来真的有 style="pointer-events: none;"

  10. SVN更换新的svn链接

    输入新的SVN地址即可: