关闭

《编写可维护的JavaScript》读书笔记——3.语句和表达式

标签: 读书笔记javascript
179人阅读 评论(0) 收藏 举报
分类:

所有的块语句都应当使用花括号,包括:

  • if
  • for
  • while
  • do…while…
  • try…catch…finally

3.1 花括号的对齐方式
风格:左花括号放置在块语句中第一句代码的末尾。
示例:

if (condition) {
    doSomething();
} else {
    doSomethingElse();
}

3.2 块语句间隔
风格:在左括弧之前和右括弧之后各添加一个空格
示例:

if (condition) {
    doSomething();
}

3.3 switch语句
switch语句中可以使用任意类型值,任何表达式都可以合法地用于case从句。
3.3.1 缩进
风格:

  • 每条case语句相对于switch关键字都缩进一个层级
  • 从第二条case语句,每条case语句前后各有一个空行

示例:

switch (condition) {
    case "first":
        // 代码
        break;

    case "second":
        // 代码
        break;

    case "third":
        // 代码
        break;  

    default:
        // 代码
}

3.3.2 case语句的“连续执行”
case的连续执行(fall through)是一种可接受的编程方法,程序的逻辑要清晰,并且有意添加注释。
示例:

switch (condition) {

    // 明显的依次执行
    case "first":
    case "second":
        // 代码
        break;

    case "third":
        // 代码

        /* fall through */
    default:
        // 代码
}

3.3.3 default
如果没有default,可以加一行注释。
示例:

switch (condition) {
    case "first":
    // 代码
    break;

case "second":
    // 代码
    break;

// 没有 default

}
3.4 with语句
避免使用with语句
3.5 for循环
传统for循环用于遍历数组成员。break语句和continue语句可以更改循环的执行过程,continue语句可以用if语句代替。
示例:

var values = [1, 2, 3, 4, 5, 6, 7],
    i, len;

for (i = 0, len = values.length; i < len; i++) {
    if (i === 2){

        // break提前结束循环
        break;
    }
    process(values[i]);
}

for (i = 0, len = values.length; i < len; i++) {
    if (i === 2){

        // 不执行此次迭代
        continue;
    }
    process(values[i]);
}

for (i = 0, len = values.length; i < len; i++) {

    //if语句替代continue  
    if (i !== 2){
        process(values[i]);
    }   
}

3.4 for-in 循环
for-in循环用来遍历对象属性,返回属性名而不是值。for-in会遍历对象从原型中带来的属性。可用 hasOwnProperty() 方法过滤实例属性。

var prop;

for (prop in object) {

    // 检查是否是实例属性
    if (object.hasOwnProperty(prop)) {
        console.log("Property name is " + prop);
        console.log("Property value is " + object[prop]);
    }
}

注意,for-in是遍历对象的,禁止遍历数组。

// 不好的用法,用来遍历数组
var values = [1, 2, 3, 4, 5, 6, 7],
    i, len;

for (i in values) {
    process(items[i]);
}
0
0
查看评论

《编写可维护的JavaScript》读书笔记(3) --语句和表达式

语句和表达式// 推荐,好的写法 if (condition) { doSomething(); }// 不好的写法,尽管是合法的js代码 if (condition) doSomething(); if (condition) { doSomething(); }块语句的间隔if (con...
  • Suejia
  • Suejia
  • 2017-05-31 15:08
  • 318

【Python】Python中语句和表达式的区别

表达式:表达是某件事 语句:表达是做某件事>>>4*2 8>>>print (4*2) 8上述表达式结果一样,是因为交互式解释器总是把所有的表达式都答应出来,是因为都使用了repr函数对结果进行呈现。
  • u014647208
  • u014647208
  • 2016-11-29 23:44
  • 1161

编写可维护的javascript(三):语句和表达式

所有块语句都应当使用花括号,包括:if、for、while、do…while…花括号的对齐方式 第一种对齐风格: if (condition) { doSomething(); } else { doSomethingElse(); }java...
  • mangoyiy
  • mangoyiy
  • 2017-07-26 09:50
  • 123

C语言基本教程 第5课:语句和表达式

从这一课开始,终于可以愉快地编码了. 首先 学习: C语言输入和输出 . C语言是一种编程语言,就像其他语言一样,也是一句一句的表达. C语言习惯用小写字母,大小写敏感,不使用行号,无程序行概念,可使用空行和空格,常用锯齿形书写格式. int ma...
  • beijiwei
  • beijiwei
  • 2016-08-18 15:19
  • 691

C语言的表达式与语句

C语言中,表达式是显示如何计算值的公式。语句是C语言的关键特性之一,表示程序运行时执行的命令。本文介绍并示例了C语言中的表达式和语句
  • lemonrabbit1987
  • lemonrabbit1987
  • 2015-08-06 06:04
  • 1267

C语言入门(六)表达式和语句

表达式和语句  一、表达式 前面已经提到过表达式,相信大家对表达式也有了一个初步的认识,它是由常量、变量、运算符组合(到以后讲函数时,函数也可以是组成表达式的元素),计算以后返回一个结果值。表达式的结束标志是分号(;),C语言中所有的语句和声明都是用分号结束,在分号出现之前,语...
  • caihongdao123
  • caihongdao123
  • 2016-07-11 15:31
  • 6687

javascript语句和表达式

JavaScript 语句和表达式 1. 表达式和语句的区分 表达式 是 JavaScript 中的一个短语,JavaScript 解释器会将其计算出一个结果;语句就是 JavaScript 整句或者命令,表达式计算出一个值,但语句用来执行以使某件事件发生。 一个表达式会产生一个值,在任何...
  • mjzhang1993
  • mjzhang1993
  • 2017-11-17 12:18
  • 292

JavaScript权威指南第04章 表达式和运算符

表达式和运算符 表达式是javascript的一个短语,解析器将会将该表达式解析为一个值。 4.1原始表达式 原始表达式是表达式的最小单位。比如直接量。 4.2对象和数组的初始化表达式 对象和数组的初始化是新建一个对象和数组的过程。这些表达式有时被称作对象直接量和数组直接量。 var m...
  • huangbin10025
  • huangbin10025
  • 2014-06-02 09:39
  • 696

C++ 语句,表达式的区别

语句:每条完整的计算机指令称为语句,语句是要执行的操作,所有的语句都已分号结束 语句分类:声明语句,赋值语句,消息语句,函数调用,函数原型,返回语句 声明语句:定义函数中使用的变量的名称和类型 int n; 赋值语句:使用赋值运算符(=)给变量赋值 ...
  • stokisyd
  • stokisyd
  • 2015-07-09 20:01
  • 882

编写可维护的JavaScript读书笔记(1)

编程风格 基本的格式化 1.当一行的长度达到了单行最大字符数限制时,需要将一行拆为两行,第二行要有两个层级的缩进 2.null的使用 应用场景: (1) 用来初始化一个变量,这个变量可能赋值为一个对象 (2) 用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象 (3) 当函数的参数期望...
  • Ghostiostream
  • Ghostiostream
  • 2013-12-30 11:44
  • 382
    个人资料
    • 访问:24595次
    • 积分:501
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:1篇
    • 译文:1篇
    • 评论:11条
    最新评论