继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕数据9484764
关注TA
已关注
手记 49
粉丝 3
获赞 2

学习课程名称:直面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. 手写递归实现深拷贝

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP