发表于: 2019-12-01 21:54:56

1 1121


今天完成的事情: 

1 数组对象深浅拷贝方法

明天计划的事情:

1 复习,调试接口

遇到的问题:

1 暂无

收获:

数组 / 对象 深浅拷贝
数组深拷贝(第2层):concat()、slice()、ES6中from:自我,深拷贝第二层,=是浅拷贝第一层
元素是基本类型,深拷贝,互不影响。元素是引用类型,拷贝地址,改值互相影响,删除不会
对象深拷贝(第2层):Object.assign()
属性值是基本类型,深拷贝。是引用类型,拷贝地址,改值互相影响,删除不会
数组/对象通用深拷贝(第2层):遍历for in、ES6拓展运算符 
数组/对象通用深拷贝 :遍历for in
对象值是:函数、new Date()、new RegExp('正则')、new Error('错误')复制不成功,因为它们有特殊的构造函数
数组/对象通用深拷贝、JSON.parse(JSON.stringify(数组/对象) )


加法运算符+ 用于把文本值或字符串变量加起来(连接起来)
加法运算符重载(其他运算符都没有):是在运行时决定,到底是执行相加,还是执行连接。所以,运算子的不同,导致了不同的语法行为,这种现象称为重载overload。由于加法运算符存在重载,可能执行两种运算,所以前后顺序很重要
对象/ 数组的相加:如果运算子是对象,会成原始类型的值,然后再相加(对象转原始类型的规则如下)
1调用对象 / 数组valueOf(),对象 / 数组的valueOf方法总是返回他们自身  
2调用对象toString(),对象的toString方法默认返回[object Object],数组返回除了中括号内容
注意:如果对象是一个Date对象的实例(例obj = new Date() ),那么会优先执行toString方法
数组相加想改变的话,可以改变他的原型,然后在原型上修改



返回列表 返回列表
评论

    分享到