《编写可维护的JavaScript》——1.4 换行

简介:

本节书摘来自异步社区《编写可维护的JavaScript》一书中的第1章,第1.4节,作者: 【美】Nicholas C. Zakas 译者: 李晶 , 郭凯 , 张散集 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 换行

当一行长度达到了单行最大字符数限制时,就需要手动将一行拆成两行。通常我们会在运算符后换行,下一行会增加两个层级的缩进。比如(假定缩进为4个字符)下面这样。

// 好的做法:在运算符后换行,第二行追加两个缩进
callAFunction(document, element, window, "some string value", true, 123,
          navigator);
// 不好的做法:第二行只有一个缩进
callAFunction(document, element, window, "some string value", true, 123,
     navigator);
// 不好的做法:在运算符之前换行了
callAFunction(document, element, window, "some string value", true, 123
        , navigator);
AI 代码解读

在这个例子中,逗号是一个运算符,应当作为前一行的行尾。这个换行位置非常重要,因为ASI机制会在某些场景下在行结束的位置插入分号。总是将一个运算符置于行尾,ASI就不会自作主张地插入分号,也就避免了错误的发生。

对于语句来说,同样也可以应用下面这种换行规则。

if (isLeapYear && isFebruary && day == 29 && itsYourBirthday &&
          noPlans) {
     waitAnotherFourYears();
}
AI 代码解读

在这段代码中,if条件语句被拆分成了两行,断行在&&运算符之后。需要注意的是,if语句的主体部分依然是一个缩进,这样更容易阅读。

这个规则有一个例外:当给变量赋值时,第二行的位置应当和赋值运算符的位置保持对齐。比如:

var result = something + anotherThing + yetAnotherThing + somethingElse +
               anotherSomethingElse;
AI 代码解读

这段代码里,变量anotherSomethingElse和首行的something保持左对齐,确保代码的可读性,并能一眼看清楚折行文本的上下文。

目录
打赏
0
0
0
0
1815
分享
相关文章
数据可视化中javascript二维数组使用arr.slice实现换行换列排名的解决方案
数据可视化中javascript二维数组使用arr.slice实现换行换列排名的解决方案
102 1
如何用 JavaScript 编写你的第一个单元测试
测试代码是确保代码稳定的第一步。能做到这一点的最佳方法之一就是使用单元测试....
如何用 JavaScript 编写你的第一个单元测试
JS的字符串插值,变量长文本换行
作为一个PHPer,经常需要在html中写js jq来解析数据,形成列表、选项等等。 (谁让我们PHPer还要兼顾页面呢?? 又不会Vue,只能这样子讨讨生活。) 那么就经常遇到Html代码拼接,或者字符串拼接,可能是这样子的问题
439 0
JS的字符串插值,变量长文本换行
用JavaScript编写Chip-8模拟器
我相信大多数人都用模拟器玩过游戏吧!比如GBA模拟器,PSP模拟器,NES模拟器等。所以应该也有人会跟我一样想自己写个游戏机模拟器。但这些模拟器对于一个新手来说难度太大了,就比如NES模拟器中CPU的指令就有100个以上了,更别说除了CPU还有显卡之类的东西需要模拟。
1225 0
HTML单行、多行超出不换行显示省略号使用Clamp.js兼容IE
HTML单行、多行超出不换行显示省略号使用Clamp.js兼容IE
187 0
PubSubJS:用JavaScript编写的基于主题的发布/订阅库
PubSubJS:用JavaScript编写的基于主题的发布/订阅库
214 0
HTML单行、多行超出不换行显示省略号使用Clamp.js兼容IE
HTML单行、多行超出不换行显示省略号使用Clamp.js兼容IE
225 0

热门文章

最新文章