<script type="text/javascript">
var obj={
name:'段丛磊',
gex:18,
sss:['李伟',18],
fun:function(){
name='李伟'
gex=18
}
}
var obj1={}; var init=function(right1,left1){
var left1=left1||{}, //当用户传入的有东西就用用户提供的,没有就自己给一个{}对象
toStr=Object.prototype.toString,//判断是对象还是数组的call改变this指向
arrStr='[object Array]';//数组
for (var opo in right1) { //遍历
if (right1.hasOwnProperty(opo)) //不继承系统的值
{
if (right1[opo]!=='null' && typeof(right1[opo])=='Object') //判断是不是引用值
{
if (toStr.call(right1[opo])==arrStr) //判断是不是数组
{
left1[opo]=[];
}
else
{
left1[opo]={};
}
init(right1[opo],left1[opo]) //递归
}
else{
left1[opo]=right1[opo]; //出口
}
}
}
return left1;//当我没有传这个的时候
}
init(obj,obj1);
</script>

最新文章

  1. Redis之清除所有缓存
  2. LabVIEW如何调用C#Winform
  3. 如何实现SP文档库类似百度文档库的效果 (副标题:如何在SP2013文档库的SWF文件用FlexPager显示)
  4. 30行代码实现Javascript中的MVC
  5. 免信用卡注册美国App Store账号
  6. ANDROID_MARS学习笔记_S01原始版_012_广播机制一
  7. HJA的异或值
  8. HTML5 Security Cheatsheet使用说明
  9. .NET中的CSV导入导出(实例)
  10. mysql错误:Error Code: 1175. You are using safe update mode and you tried to update a table……
  11. MapReduce 规划 系列的12 使用Hadoop Streaming技术集成newLISP文字
  12. 1-git初体验
  13. 浅谈javascript的函数节流
  14. 数位DP入门:(bzoj1833+3209)
  15. 程序员必须搞清的概念-equals和=和hashcode的区别
  16. python操作git
  17. 前端基本知识(三):JS的闭包理解(第一个思考题有错误,已修改)
  18. Python-常见面试题-持续更新
  19. Linux下设置redis的密码和远程访问
  20. recovery uncrypt功能解析(bootable/recovery/uncrypt/uncrypt.cpp)

热门文章

  1. java之方法的重载(overload)
  2. 多次调用settimeout 如何使用单例模式
  3. C#冒泡算法
  4. 关于ASP.NET配置
  5. (转)阿里 RocketMQ 安装与简介
  6. golang-基础
  7. Dynamics 365触发Microsoft Flow自动生成PDF并作为附件送邮件
  8. 23种设计模式之Builder设计模式
  9. numpy中array和matrix的区别
  10. selenium时间等待方法