- 博客(6)
- 收藏
- 关注
原创 记录一下js深拷贝
记录一下js深拷贝 1.object.assign() 2.转换成JSON字符串重新赋值 3.递归判断对象类型再赋值 // 定义一个深拷贝函数 接收目标target参数 function deepClone(target) { // 定义一个变量 let result; // 如果当前需要深拷贝的是一个对象的话 if (typeof target === 'object') { // 如果是一个数组的话 if (Array.isArray(targe
2021-04-02 09:53:44
88
原创 New运算符工作原理
// 模拟new运算符工作原理的 new1 var new1 = function(func,value){ // func指令构造函数 // 1.生成一个新对象,这个对象要继承构造函数的原型对象 var o = Object.create(func.prototype) // 2.执行构造函数func var k = func.call(o,value)// call转移上下文,将其转成新创建的o // 3.判断func执行完的结果是不是对象类型 if(ty
2021-02-27 13:19:15
343
原创 记录 JavaScript 深克隆
function deepClone(obj = {}) { if (typeof obj !== 'object' || obj == null) { // obj是null,或者不是数组或对象 直接返回 return obj; } // 初始化结果 let result; if (obj instanceof Array) { result = []; }
2021-02-25 23:23:41
174
1
原创 for..of循环与for..in循环的区别
for…of循环与for…in循环的区别 1.for…of循环可以代替数组实例的forEach方法 const arr = ['red', 'green', 'blue']; arr.forEach(function (element, index) { console.log(element); // red green blue console.log(index); // 0 1 2 }); 2.JavaScript 原有的for…in循环,只能获得对象的键名,不能直接获取键值。ES6
2021-02-25 21:16:22
971
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人