为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第3天 直面JavaScript中的30个疑难杂症

标签:
JavaScript

学习课程名称:直面JavaScript中的30个疑难杂症
章节名称:数据类型
讲师姓名:公明2020


课程内容

  1. type of 和instanceof 检测数据类型有哪些异同
  2. 带你深入理解数据的存储形式-堆栈
  3. 深浅拷贝有哪些方式
  4. 开发中,常见的数据类型转化有哪些坑

typeof 和 instanceof 都是用来判断变量类型,区别在于:
1、typeof判断所有变量的类型,返回值有number、string、boolean、function、object、undefined。
2、typeof对于丰富的对象实例,只能返回object,导致有时候得不到真实的数据类型。
3、instanceof用来判断对象,代码形式(obj1 instanceof obj2)(判断obj1是否为obj2的实例),obj2必须为对象,否则会报错。返回的是布尔值。
4、instanceof可以对不同的实例对象进行判断,判断方法是根据对象的原型链依次向下查询,如果obj2的原型属性存在于obj1的原型链上,(obj1 instanceof obj2)值为true。


计算机为原始类型开辟的一块内存空间。原型类型有:string、number····


计算机为引用类型开辟的一块内存空间。引用类型有:object

浅拷贝:拷贝基本数据类型时,不受任何影响,当拷贝引用类型时,源对象也会被修改。

  1. 直接赋值
  2. Object.assign
  3. ES6扩展运算符
  4. 数组的slice 和 concat 方法
  5. jQuery 中的 $.extend

说明:$.extend(deep,target,object1,object2,…) 通过这个方法就可以实现深浅拷贝。各个参数的说明如下:

deep:true 表示深拷贝,false 表示浅拷贝
target:要拷贝的目标对象
object1:待拷贝的对象

深拷贝:深拷贝就是完完全全拷贝一份新的对象,它会在内存的堆区域重新开辟空间,修改拷贝对象就不会影响到源对象。

  1. JSON.parse(JSON.stringify(待拷贝对象))
  2. jQuery 中的 $.extend
  3. 手写递归实现深拷贝

图片描述图片描述图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消