Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JavaScript 语言精粹笔记3-方法、毒瘤等

JavaScript 语言精粹笔记3-方法、毒瘤等

作者头像
零式的天空
发布于 2022-03-02 12:28:41
发布于 2022-03-02 12:28:41
24200
代码可运行
举报
文章被收录于专栏:零域Blog零域Blog
运行总次数:0
代码可运行
  • content {:toc}

记录一下阅读蝴蝶书的笔记,本篇为书中最后一部分:方法、代码风格、优美的特性、毒瘤、糟粕等。

方法

这一章主要介绍了一些方法集。这里写几个我不太熟悉的方法和要点吧。

  • array.join() 对于IE6/7,使用array.join()连接大量字符串的效率确实优于使用+元素运算符。但是目前主流的浏览器,包括IE8以后的版本,都对+元素运算符连接字符串做了特别优化,性能已经显著高于array.join()
  • number.toExponential(fractionDigits) 把这个number转换成一个指数形式的字符串。
  • number.toFixed(fractionDigits) 将这个number转换成一个十进制形式的字符串。

毒瘤

  • 注意全局变量的引入。
  • JavaScript 中 Unicode 是16位的。包含65536个字符(基本多文种平面 Basic Multilingual Plane)。剩下的百万字符中的每一个都可以用一对字符来表示。Unicode 把一对字符视为一个单一的字符,而 JavaScript 认为一对字符是两个不同的字符。
  • 检测null的方式。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
console.log(typeof null) //object

myValue === null //检测 null

if (myValue && typeof myValue === 'object') {
    // myValue 是一个对象或数组!
}
  • parseInt 把字符串转化为整数的函数。它遇到非数字时会停止解析,所以parseInt('16')parseInt('16ton')产生相同的结果。 如果该字符串第一个字符是0,那么该字符串会基于八进制而不是十进制来求职。在八进制中,8和9不是数字,所以parseInt('08')parseInt('09')都产生0作为结果。但parseInt()可以接受基数,因此parseInt('08',10)结果为8,建议总是加上这个基数参数。
  • JavaScript 的对象永远不会是真的空对象,因为它们可以送原型链中取得成员属性。

糟粕

  • 避免使用with语句。
  • 避免使用eval语句。
  • continue可能会降低运算性能。
  • 位运算符在 JavaScript 会非常慢。 Java 里,位运算符处理的是整数。JavaScript 没有整数类型,它只有双精度的浮点数,因此,位运算符把它们的数字运算数先转换为整数,执行运算,在转换回去。JavaScript 的执行环境一般接触不到硬件,所以非常慢。
  • 避免使用包装对象。new Objectnew Array等。
  • 避免使用void

本系列结束。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JavaScript语言精粹【糟粕、毒瘤】
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
4390
《JavaScript语言精粹》学习笔记
在JavaScript中,/ *可能出现在正则表达式字面量里,所以块注释对于被注释的代码块来说是<u>不安全的</u>。
贺贺V5
2018/08/21
4180
《JavaScript语言精粹》学习笔记
《JavaScript语言精粹》—— 读书总结
话说这本书还是同学的推荐才读的,之前感觉这本书太薄了,不值得看,没想到小身材有大智慧,书中的内容总结的还是很到位的!所以就把最后几章,精华的部分整理整理。 优美的特性 函数是顶级对象 在JS中,没有块级作用域,都是以函数为最小的作用域,这样就可以把所有的变量放在函数的顶级声明。同时,也需要注意for循环,与java的使用方法就不一样了。即便是在for循环的体内,或者if语句中,声明的变量也是函数级别的。 而函数会延长作用域的范围,也就衍生出闭包这种概念,详细的还应该去参考《JS高级程序设计》,那里面讲的比
用户1154259
2018/01/17
7290
Javascript:Javascript数据类型详解
  要成为一个优秀的前端工程师,系统的学习Javascript,有夯实的Javascript基础,以及对语言本身的深刻的理解,是基本功。从Javascript数据类型开始,我将对Javascript知识体系进行系统的梳理。
王金龙
2019/02/25
8940
你不知道的javaScript笔记(4)
类型: JavaScript 有7种内置类型 空值 (null) 未定义(undefined) 布尔值(boolean) 数字(number) 字符串(string) 对象(object) 符号(symbol) 除对象以外,其他统称为“基本类型” 用typeof 运算符来查看值的类型 typeof undefined  === "undefined";   // true typeof true === "boolean";  // true typeof 42 === "number";  // tru
用户1197315
2018/01/22
6700
javascript语言精粹(蝴蝶书)-笔记
版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/article/details/51340630
空空云
2018/09/27
2K0
12种不宜使用的Javascript语法
这几天,我在读《Javascript语言精粹》。 这本书很薄,100多页,正好假日里翻翻。 该书的作者是Douglas Crockford,他是目前世界上最精通Javascript的人之一,也是Json格式的创造者。 他认为Javascript有很多糟粕。因为1995年Brendan Eich设计这种语言的时候,只用了三个月,很多语言特性没有经过深思熟虑,就推向了市场。结果等到人们意识到这些问题的时候,已经有100万程序员在使用它了,不可能再大幅修改语言本身了。所以,Douglas Crockford决定,
ruanyf
2018/04/12
7220
javascript(二):数据类型&数值
第一部分:数据类型 javascript数据类型通常来说是6种(ES6新增第七种Symbol类型) number:数值 string:字符串 boolean:布尔类型,true或false undefined:未赋值 null:空,值是“无”的状态 object:对象 通常number,string,boolean称为原始类型(primitive type)的值,即最基本的值,不能继续细分;而对象称为合成类型(complex type)的值,一个对象往往是多个原始类型的合成;而undefined和null是
用户1149564
2018/01/11
1.6K0
javascript(二):数据类型&数值
javascript各进制前缀 及 转换
二进制前缀0b var a=0b11;//a=3 八进制前缀0 var a=011;//a=9 十进制不用前缀 十六进制前缀0x var a=0x11;//a=17 数字转各进制字符串用num.toString(n),n为2-36的数字,表示2-36进制。 字符串转数字用parseInt(numstring,n),n为2-36的数字,表示用2-36进制方式解析字符串得到数字,有0x前缀时可不用指定n=16 Javascript 完全套用了 Java 的位运算符,包括按位与 & 、按位或 | 、按位异或 ^
IT架构圈
2018/05/31
1.2K0
JavaScript-数据类型转换
涉及加法运算符(+)的数字和字符串表达式中,JavaScript 会把数字值转换为字符串。例如
WEBING
2019/02/26
6670
JavaScript-数据类型转换
大话 JavaScript(Speaking JavaScript):第十一章到第十五章
JavaScript 对所有数字都使用单一类型:它将它们全部视为浮点数。但是,如果小数点后没有数字,则不显示小数点:
ApacheCN_飞龙
2024/01/12
7790
01_JavaScript学习笔记整理-ECMAScript
1.在标签中,任何地方添加标签.标签中内容就是js代码. 虽然可以放在页面的任何地方,但是规范放在标签中.
全栈程序员站长
2021/07/13
7350
JavaScript 数据类型转换完全攻略
JavaScript 能够根据运算环境自动转换值的类型,以满足运算需要。但是在很多情况下需要开发者手动转换数据类型,以控制运算过程。
用户3519280
2023/07/07
4070
JAVASCRIPT程序设计语言免费技术教程
最开始由网景公司(已经被微软干掉了),名字叫LiveScript。因为当时JAVA比较火,凑热点, JAVASCRIPT,保证它死不了。
张哥编程
2024/12/13
1100
JAVASCRIPT程序设计语言免费技术教程
Javascript的5种基本数据类型总结
ECMAScript中有5种基本数据类型,分别是:Undefined,Null,Boolean,Number和String,还有一种复杂数据类型Object,Object本质上是由一组无序的名值对组成的。(这里就不细细讲述了)
全栈程序员站长
2022/10/28
8510
Javascript的5种基本数据类型总结
JavaScript 进制转换&位运算,了解一下?
在一般的代码中很少会接触到进制和位运算,但这不代表我们可以不去学习它。作为一位编程人员,这些都是基础知识。如果你没有学过这方面的知识,也不要慌,接下来的知识并不会很难。本文你将会学习到:
WahFung
2020/08/24
1.1K0
JavaScript 进制转换&位运算,了解一下?
JavaScript——数据类型
在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
岳泽以
2022/10/26
9310
JavaScript——数据类型
25 道神奇的 javascript 示例,全答对算我输!!!
JavaScript 是一种很好的语言。它有一个简单的语法,庞大的生态系统,以及最重要,最伟大的社区。同时,我们都知道,JavaScript 是一个非常有趣又充满戏法的语言。 他们中的有些可以迅速将我们的日常工作变成地狱,有些可以让我们大声笑起来。
@超人
2021/09/17
1.1K0
炫技!JavaScript 的花式玩法
JavaScript 是一个伟大的语言。它有简单的语法,完善的生态系统,更重要的,有一个庞大的社区。
疯狂的技术宅
2019/03/28
1.6K0
炫技!JavaScript 的花式玩法
【重学前端】002-JavaScript类型:关于类型,有哪些你不知道的细节
我们也可以使用 void 运算符把任意一个表达式变成 undefined 值;(# void 运算符细究)
訾博ZiBo
2025/01/06
920
【重学前端】002-JavaScript类型:关于类型,有哪些你不知道的细节
相关推荐
JavaScript语言精粹【糟粕、毒瘤】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档