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"]); 第二个参数 接收的是一个数组

最新文章

  1. FZU 2137 奇异字符串 后缀树组+RMQ
  2. svd自我学习
  3. NOIP注意事项
  4. linuxMint下面的截图工具
  5. mongodb 释放磁盘空间
  6. Ubuntu 14.04安装OpenCV 3.1
  7. Ubuntu安装secureCRT
  8. 【Python项目】配合爱漫画爬取漫画脚本而设计的GUI漫画阅读器 (一)
  9. IOS开发苹果官方Sample Code及下载地址
  10. C# List<T> To DataTable
  11. Jeff Atwood倾情推荐——程序员必读之书
  12. 云计算openstack共享组件(2)——Memcache 缓存系统
  13. FPGA——流水灯(一)
  14. k8s部署kafka集群
  15. oracle小记:dba_data_files
  16. git lg 使用 转
  17. 网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)
  18. 使用Dlib来运行基于CNN的人脸检测
  19. NetBpm 示例:请假审批(6)
  20. PHP命名规则

热门文章

  1. day39-Spring 19-今天的内容总结
  2. 2019-4-29-dotnet-通过-WMI-获取系统安装软件
  3. bzoj1614 架设电话线
  4. 2019-11-20-dotnet-Blazor-用-C#-控制界面行为
  5. Python基础:17类和实例之一(类属性和实例属性)
  6. 荣获“5G MEC优秀商用案例奖”,阿里云边缘计算发力新零售
  7. deepin 安装golang protobuf
  8. 1、Ubuntu 16.04 安装.net core
  9. JVM参数详细列表
  10. @noi.ac - 489@ shuffle