博客
关于我
确定func_1 的 this 和arguments
阅读量:534 次
发布时间:2019-03-07

本文共 2034 字,大约阅读时间需要 6 分钟。

let func_1 = function (param1, param2) {       console.log("func_1");    console.log(this);    console.log(param1, param2);};let func_2 = function (func, funcTarget = {   }, paramArray = []) {       func.target = funcTarget;    func.paramArray = paramArray;    func.apply(func.target, func.paramArray);}func_2(func_1, {   type:1234}, [111, 555]);
-----------------------------------------------------------------------------------js数组和对象的区别:有序、无序。 对象是关联数组,就是将值与特定的对象关联在一起。当用点号运算符来存取对象属性时,属性名是用标识符表示的;当用中括号来存取对象属性时,属性名是用字符串表示的,因此可以在运行过程中动态生成字符串。-----------------------------------------------------------------------------------基本类型数据:6 引用类型数据:3等 obj arr 函数浅拷贝与深度拷贝:深拷贝,是拷贝对象各个层级的属性(concat方法与slice也存在这样的情况,他们都不是真正的深拷贝)function deepClone(obj){       let objClone = Array.isArray(obj)?[]:{   };    if(obj && typeof obj==="object"){           for(key in obj){               if(obj.hasOwnProperty(key)){                   //判断ojb子元素是否为对象,如果是,递归复制                if(obj[key]&&typeof obj[key] ==="object"){                       objClone[key] = deepClone(obj[key]);                }else{                       //如果不是,简单复制                    objClone[key] = obj[key];                }            }        }    }    return objClone;}    let a=[1,2,3,4],    b=deepClone(a);a[0]=2;console.log(a,b);除了递归,我们还可以借用JSON对象的parse和stringifyfunction deepClone(obj){       let _obj = JSON.stringify(obj),           objClone = JSON.parse(_obj);    return objClone}    let a=[0,1,[2,3],4],    b=deepClone(a);a[0]=1;a[2][0]=1;console.log(a,b);//--JSON.stringify()函数是用来序列化对象的,无论输入什么,输出的都是字符串类型,可以按自己的需求来定制如何序列化,输出结果是怎样的格式.(这个函数可以配置不同的参数:一个参数 object{   }/ array []; 二个参数 第二个参数为函数/数组;三个参数 )bool number string 序列化过程中会转为原始值/  undefine null symbol 在序列化过程中会被忽略(在非数组对象的属性值中时)或者被转换成null(出现在数组中时) 不可枚举的属性会被忽略。JSON.parse()从一个字符串中解析出JSON对象-----------------------------------------------------------------------------------
利用JSON转换值达到存储的的方式非常好用利用json.stringify将存储对象转换成字符串,使用localStorage进行存储,.当使用localStorge将存储的东西拿出来的后,也是个字符串。 将字符串在使用JSON.parse()从一个字符串中解析出JSON对象 就可以进行使用了

转载地址:http://hasjz.baihongyu.com/

你可能感兴趣的文章
Navicat中怎样将SQLServer的表复制到MySql中
查看>>
navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题
查看>>
Navicat可视化界面导入SQL文件生成数据库表
查看>>
Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
查看>>
Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
查看>>
Navicat如何连接MySQL
查看>>
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>
Navicat导入海量Excel数据到数据库(简易介绍)
查看>>
Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
查看>>
Navicat工具中建立数据库索引
查看>>
navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
查看>>
navicat怎么导出和导入数据表
查看>>
Navicat怎样同步两个数据库中的表
查看>>
Navicat怎样筛选数据
查看>>
Navicat报错connection is being used
查看>>
Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
查看>>
Navicat控制mysql用户权限
查看>>
navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
查看>>
Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
查看>>
Navicat连接mysql数据库中出现的所有问题解决方案(全)
查看>>