文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 一、js本地对象/内置对象/宿主对象
- 二、js深拷贝和浅拷贝
- 1.浅拷贝方法:
- 2.深拷贝方法:
- 二、常见继承方式
- 三、如何进行代码优化
- 四、前端优化
- 总结
一、js本地对象/内置对象/宿主对象
- 本地对象指的是可以用new实例化的
- 内置对象指的是Math、global这些
- 宿主对象指的是浏览器自带的 document、window等
- Object.assign
- 解构赋值
- JSON.stringify(xx)
缺点:值为undefined的会被忽略;值为function的也会被忽略 - 递归实现
var obj1 = [{ name: '臧三', childs: ['小明', '小芳'], fn: function() {}, age: undefined }] var obj2 = extend(obj1) obj2[0].childs = [] console.log(obj1, obj2) function extend(data) { if (typeof data === 'object' && data) { var value = data.length ? [] : {} for(let i in data) { value[i] = extend(data[i]) } return value } else { return data } }
二、常见继承方式
- 扩展原型对象
- call/apply借用构造函数实现继承
- 组合继承:原型链继承方法+借用构造函数继承属性
三、如何进行代码优化
- 代码重用
- 函数单一职责原则
- 变量、闭包的内存释放
- 减少http请求次数
- 减少操作dom次数,避免回流与重绘,少用全局变量
- gzip压缩,cdn加速,文件服务器
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。



