- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于推酷
推酷是专注于IT圈的个性化阅读社区。我们利⽤智能算法, 从
海量⽂章资讯中挖掘出⾼质量的内容,并通过分析⽤户的阅读
偏好,准实时推荐给你最感兴趣的内容。我们推荐的内容包含
科技、创业、设计、技术、营销等内容,满⾜你⽇常的专业阅
读需要。我们针对IT⼈还做了个活动频道, 它聚合了IT圈最新
最全的线上线下活动,使IT⼈能更⽅便地找到感兴趣的活动信
息。
关于周刊
《编程狂⼈》是献给⼲⼤程序员们的技术周刊。我们利⽤技术
挖掘出那些⾼质量的⽂章,并通过⼈⼯加以筛选出来。每期的
周刊⼀般会在周⼆的某个时间点发布,敬请关注阅读。
本期为精简版周刊完整版链接:/
mags/53f1fcebd91c20
欢迎下载推酷客户端体验更多阅读乐趣
版权说明
本刊只⽤于⾏业间学习与交流署名⽂章及插图版权归原作者享
有
i
⽬录
1.JavaScript ⾥ Function 也算⼀种基本类型?
2.⼀次优化引发的⾎案
3.XSS的原理分析与解剖
4.⼤⽜们是怎么阅读 Android 系统源码的?
5.使⽤HAProxy、PHP、Redis 和MySQL⽀撑10亿请求每周
的架构
6.20多种提⾼⺴⻚加载速度的⽅法和技巧
7.分布式消息系统:Kafka
8.专访⻢根峰:海量数据处理与分析⼤师的中国本⼟程序员
9.什么是堆和栈,它们在哪⼉?
ii
节 1
JavaScript ⾥ Function 也算⼀种基
本类型?
作者:贺师俊
按照spec ,JS的数据类型就是以下七(六)种:
1. Undefined 类型;
2. Null 类型;
3. Boolean 类型;
4. String 类型;
5. Symbol 类型(此为ES6规范所新增);
6. Number 类型;
7. Object 类型。
且按照spec ,typeof只是⼀个运算符,其返回值并不能作为JS类型系统
的依据。
我先说下如何理解typeof的返回值。
现在⽐较普遍的认知是,typeof null返回“ob-
ject”是⼀个历史错误(JS的发明者Brendan Eich ⾃⼰也是这样说的),只
是因为要保持语⾔的兼容性⽽维持⾄今。从ES5制定开始就有动议将typeof
null改为返回“null” (如启动node加上“--harmony_typeof”参数,即是如
此),但是当前ES6标准草案仍然维持了原样。
然⽽,typeof null返回“object” ,按照爱民的意⻅,也可在某种程度上理
解为null实为object类型的⼀个特殊值。在诸如Java这样的语⾔中,⼀个变
量若是primitive类型,均不可赋以null值,⽽若是 object ,则均可赋以null
值。因为在理解上来说,null实际是引⽤(reference)的特殊值(表⽰没有
指向任何实际对象)。
3
尽管我曾向爱民指出过,BE从来没有证实过这样的看法,不过我也认为
这种理解并不是没有道理,⽐如考虑JavaScript在null之外⼜加⼊
undefined的独⼀⽆⼆的设计(⾄少我不知道有其他语⾔有类似的做法)
——这样,⼀个要⽤于primitive的变量的初始值就是 undefined⽽不是null ;
⽽不返回值的函数实质上是返回undefined⽽不是null。也就是说,借助
undefined/null的分化,我们可以更好的将类java语⾔下的程序对应到JS 中
——可以分清楚primitive和object ,可以分清楚void function和返回ob-
ject (或 null )的function 。
当然JS语⾔并⾮强类型语⾔,变量本⾝也并不与类型绑定,因此实质上
并⽆此种限制。所以上述看法只是对语⾔的感悟,⽽⽆法成为确定的结论。
不过从DOM接⼝和WebIDL规范上可以看出这个区分,很多⼈写程序的时候
也⾃觉不⾃觉的遵循这种区分。
如果抛开typeof null的谜题,那么剩下唯⼀不对应的
您可能关注的文档
- 必修二第四章第3节《向心力的实例》概述.ppt
- 必修二化学方程式过关.ppt
- 必修二教材复习概述.ppt
- 必修二离骚第一段逐字逐句翻译(修正)概述.ppt
- 必修二文言文虚词归纳概述.ppt
- 必修二专题二近代中国资本主义的曲折发展和中国近现代社会生活的变迁.ppt
- 必修三、四情景默写.ppt
- 必修三23中国东北地区农业的可持续发展(1).ppt
- 必修三32节生长素的生理作用PPT概述.ppt
- 必修三unit5公开课课件-上课用的概述.ppt
- 2025届安徽省舒城一中高三一诊考试英语试卷含解析.doc
- 广东省湛江市第二十一名校2023-2024学年高一下学期期中考试生物(选考)试卷.pdf
- 广东省湛江市第二十一名校2023-2024学年高一下学期期中考试生物(学考)试卷.docx
- 江苏省南通市合作盟校2025届高三压轴卷语文试卷含解析.doc
- 【权威】2025年高考第三次模拟考试 数学(新高考八省专用01 )(全解全析).docx
- 山东省菏泽市成武县全县联考2023-2024学年六年级下学期4月期中科学试题.docx
- 广东省湛江市第二十一名校2023-2024学年高一下学期期中考试生物(学考)试卷.pdf
- 2025届陕西省度西安中学高三下学期联考数学试题含解析.doc
- 河南省驻马店市2025届高考语文押题试卷含解析.doc
- 广东省湛江市雷州市第二名校2023-2024学年高一下学期生物期中试卷.docx
最近下载
- 初中历史跨学科教学模式探索与实践教学研究课题报告.docx
- 2025国家安全知识竞赛题库附答案(1-200题).docx
- 2023年保安员笔试考前题库500题(含答案).pdf VIP
- 西安市中招管理系统官网登陆入口http://222.91.162.190:81.doc
- 安全资料—13本台帐.doc VIP
- EHS管理-手册_原创精品文档.pdf VIP
- 尊重知识产权高中政治统编版选择性必修2法律与生活.pptx VIP
- QC∕T 29082-2019 汽车传动轴总成技术条件及台架试验方法.pdf
- 碳中和技术概论PPT完整全套教学课件.pptx
- 幼儿园玩教具装备采购 投标方案(技术标).doc VIP
文档评论(0)