资讯专栏INFORMATION COLUMN

JS的类型复盘

asce1885 / 3330人阅读

摘要:总之,类型不相等的情况下,引用类型一顿转换变成原始类型,原始类型一顿转换变成类型例类型不相等,往下走发现有一个是发现一个是对象一个是,一个是返回例第条然后哪条都不是,只好返回

基本类型和引用类型

基本类型

按值访问,可以操作保存在变量中实际的值

基本类型存在栈内存

当基本类型调用对象的方法时,不会起效,底层会有一个叫包装对象酷炫操作,效果是...不报错

引用类型

复制:操作的是对象的引用

添加属性:操作的是实际的对象

引用类型数据存在堆内存,而引用存在栈区,也就是说引用类型同时保存在栈区和堆区

引用类型的比较是比较引用

==的类型转换
关于==的执行机制,ECMASript有规范,因为==前后的值交换顺序,返回的值也是一样的,所以在此对规范做出如下总结

两者类型相等的话,返回 ===的结果,===不存在类型转换

------所以一下都是不相等的情况--------

null 和 undefined 相等 反过来也一样

一个是String,另一个是number,把string转化为number 然后在做 ==

只要有一个类型是boolean,把boolean转化为number 然后在做 ==

一个是number或者string,另外一个是对象,把对象转化为原始类型 然后在做 ==

两者都是引用类型,看是不是同一个引用

如果以上情况都不是,返回false
引用转原始类型

优先调用valueOf方法(如果有),有原始值返回,结束

否则,调用toString方法(如果有)

其他报错。

总之,类型不相等的情况下,引用类型一顿转换变成原始类型,原始类型一顿转换变成number类型
例1
[] == false
类型不相等,往下走
发现有一个是boolean -> [] == 0
发现一个是对象 -> "" == 0
一个是string,一个是number -> 0 == 0
返回 true
例2
false == undefined
第4条 0 == undefined
然后哪条都不是,只好返回false

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/109025.html

相关文章

  • 2018年, 我前端面试复盘

    摘要:技术一面一面主要考察基础,有些会有技术笔试,比如腾讯,。腾讯的面试官就很喜欢问,安全,浏览器缓存方面的问题,计算机基础,但是要懂为什么。 这篇文章简单总结下2018年内我的一些前端面试经历, 在这简单分享一下,希望对大家有所启发。 楼主在深圳,毕业两年。面的主要是深圳的几家公司。 包括: 腾讯, 蚂蚁金服, Lazada, Shopee, 有赞 等 。 楼主在准备面试前, 想着复习一...

    Yujiaao 评论0 收藏0
  • 前端面试复盘

    摘要:从上面那段代码可以看到,下的上外边距只占了两个距离的一半,所以两个的间距是。下面分别对第和第个条件进行了测试。关于这一点,两个元素的间距是这样计算的上的下外边距包裹上的下内边距下的上外边距可以看下面这个例子印证第三点。 昨天面了html5前端。下面是其中3个问题: 双外边距叠加。 用原生js怎么实现div选项卡。 如何去实现一个插件。 一、双外边距折叠 问题描述 一上一下两个di...

    Jason 评论0 收藏0
  • 前端面试复盘

    摘要:从上面那段代码可以看到,下的上外边距只占了两个距离的一半,所以两个的间距是。下面分别对第和第个条件进行了测试。关于这一点,两个元素的间距是这样计算的上的下外边距包裹上的下内边距下的上外边距可以看下面这个例子印证第三点。 昨天面了html5前端。下面是其中3个问题: 双外边距叠加。 用原生js怎么实现div选项卡。 如何去实现一个插件。 一、双外边距折叠 问题描述 一上一下两个di...

    tomener 评论0 收藏0
  • 前端面试复盘

    摘要:从上面那段代码可以看到,下的上外边距只占了两个距离的一半,所以两个的间距是。下面分别对第和第个条件进行了测试。关于这一点,两个元素的间距是这样计算的上的下外边距包裹上的下内边距下的上外边距可以看下面这个例子印证第三点。 昨天面了html5前端。下面是其中3个问题: 双外边距叠加。 用原生js怎么实现div选项卡。 如何去实现一个插件。 一、双外边距折叠 问题描述 一上一下两个di...

    hufeng 评论0 收藏0
  • Java 基础 | Collection 集合概览

    摘要:说到复盘基础,并不是所有的都会复盘,没那个时间更没那个必要。比如,一些基础的语法以及条件语句,极度简单。思前想后,我觉得整个计划应该从集合开始,而复盘的方式就是读源码。通常,队列不允许随机访问队列中的元素。 ​showImg(https://segmentfault.com/img/remote/1460000020029737?w=1080&h=711); 老读者都知道,我是自学转行...

    codergarden 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<