({} + {}).length的答案结果分析详解
JavaScript的({} + {}).length结果是什么?码笔记告诉你答案是30,那么,为什么是30呢?详解如下:
({} + {}).length答案详解
- ({} + {}).length等价于({}.toString() + {}.toString()).length
- ({}).length结果为undefined,这是因为对象{}没有length属性,所以是undefined
- 由于javascript是弱类型语言,加法运算间接调用了对象的toString()方法,其结果是字符串的相加,于是{}.toString()的值为[object Object]
- 码笔记来数一下[object Object],为15,如下所示:
[ o b j e c t O b j e c t ] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
- 所以,最终15+15=30
懂了吗?码笔记梳理一下:
- ({} + {}).length ->> ({}.toString() + {}.toString()).length
- {}.toString() ->> [object Object]
所以,({} + {}).length = ({}.toString() + {}.toString()).length = [object Object]+[object Object] = 15+15 = 30
阿里云大学推出《JavaScript入门与实战》免费视频课程,大家可以关注下。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
golang从context源码领悟接口的设计
注:写帖子时go的版本是1.12.7go语言中实现一个interface不用像其他语言一样需要显示的声明实现接口。go语言只要实现了某interface的方法就可以做类型转换。go语言没有继承的概念,只有Embedding的概念。想深入学习这些用法,阅读源码是最好的方式.Context的源码非常推荐阅读,从中可以领悟出go语言接口设计的精髓。 对外暴露Context接口 Context源码中只对外显露出一个Context接口 type Context interface { Deadline() (deadline time.Time, ok bool) Done() <-chan struct{} Err() error Value(key interface{}) interface{} } 对于Context的实现源码里有一个最基本的实现,就是私有的emptyCtx,他也就是我们经常使用的context.Background()底层的实现,他是一个int类型,实现了Context接口的所有方法,但都是没有做任何处理,都是返回的默认空值。只有String()方法,里有几行代码...
- 下一篇
Python爬虫原理详解 简单易懂
什么是Python爬虫?Python爬虫原理是什么?Python爬虫代码是如何实现的?码笔记分享Python介绍及爬虫原理详解: 什么是Python爬虫? 我们可以把互联网看成是各种信息的站点及网络设备在一起组成的一张蜘蛛网,这张网中什么信息都有,而我们上网就是获取互联网中信息内容的过程。 那么什么是爬虫?爬虫就是一段模拟人们上网的程序,爬虫可以抓取互联网上的信息,Python爬虫就是用Python语言写的一段爬虫程序。 Python爬虫抓取什么信息呢?想抓什么内容就抓什么内容,看用户如何自定义了。 Python爬虫的结构 Python爬虫主要是由5部分组成,即调度器、URL管理器、网页下载器、网页解析器、应用程序(应用程序用来爬取有价值数据),码笔记来详细介绍这5个组成部分的作用: 调度器:相当于人的大脑、电脑的CPU,调度器负责调度URL管理器、下载器、解析器之间的协调工作; URL管理器:爬虫抓取内容的URL地址(网址),URL包括未爬取的URL地址和已爬取的URL地址,URL管理器能够防止重复抓取URL和循环抓取URL。实现URL管理器主要用三种方式,通过内存、数据库、缓存数据...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果