中软国际信息技术有限公司(单题)
题型 | 难易度 | 出现频率 | 浏览 | 评论 |
---|---|---|---|---|
问答题 | 24 | 0 |
试题信息收集不易,转发请带上出处,不甚感谢!如果您对任何编程问题还有疑问,欢迎点击下方按钮向老师提问!
问答题
- 对象拷贝你是怎么做的?或 如何进行对象拷贝?等关于对象拷贝的问题
这个问题涉及的知识面还是非常广,要求对js的基本数据类型和引用类型有深刻的认知
答:js中分基本数据类型和引用数据类型,基本数据类型有数字、boolean,引用类型有数组、日期、方法、字符串。基本数据类型在使用=赋值时时拷贝副本,引用是引用地址,指向同一个对象,不过字符串比较特殊,他是常量,拷贝的也是副本。
对象拷贝分浅拷贝和深度拷贝。 浅拷贝可以使用Object.assign()方法来实现,这个是用来合并对象的,将第一个参数定义空对象{},第二个对象就是要拷贝的对象,返回的结果就是浅拷贝的结果。
深度拷贝:如果对象是纯json格式,使用JSON.stringify()将对象转为字符串,在使用JSON.parse()方法创建对象,这种方式用的比较多。 对于比较复杂的对象,就需要使用递归,遍历对象的所有属性值,进行一一拷贝。这个过程还是挺复杂的,对于引用类型都需要重新构建对象,例如Date、RegExp、Function等这个就不细说了。
能够答到这些你已经很优秀了,面试官也是佩服你五体投地,因为你的回答是面面俱到的。