美文网首页
【读书笔记】:《编写可维护的JavaScript》第01章 基本

【读书笔记】:《编写可维护的JavaScript》第01章 基本

作者: 龍天下 | 来源:发表于2020-11-12 11:35 被阅读0次

第一章 基本的格式化

1.1缩进层级

缩进要统一
使用4个空格或一个Tap键(也要设置成4个空格大小)来进行缩进

1.2 语句结尾

结尾加分号 不可省略

1.3 行的长度

一行代码的限定长度最好在80(书上)个字符 我自己觉得120个字符差不多

1.4 换行

一行代码限定了最大字符长度时,有时就需要手动将一行转换成两行,
运算符后换行
换行使用两个缩进

1.5 空行

将不同语义的代码用空行将进行分隔,确保有关联的代码展示在一起
下面一些场景也可以使用换行
方法与方法之间
方法中局部变量与第一条语句之间
多行或单行注释之前
在代码内的逻辑片段之间插入空行,提高可读性

1.6 命名

使用驼峰式命名法

1.6.1 变量和函数

变量:驼峰大小写命名法,并使用名词作前缀
函数:驼峰大小写命名法,并使用动词作前缀

var cont = 10;
var myName = "ddd";

function getName(){
    return "name";
}

1.6.2 常量

ECMAScript6之前,JavaScript中并没有真正的常量的概念。
但不影响我们去使用常量
为了和变量区分,常量使用大写字母加下划线来命名

var MAX_NUM = 10;

1.6.3 构造函数

在JavaScript中,构造函数不过是前面冠以new运算符的函数,用来创建对象。
使用大驼峰命名法为构造函数命名。即首字母大写。

function Person(name){
    this.name = name
}

1.7 直接量

1.7.1 字符串

字符串使用双引号或单引号括起来,使用单引号还是双引号并没有什么不同,这一点与PHP程序不同
写一段很长的字符串,需要换行时,可以将字符串分成两段,用“+”进行连接

var loadStr = "物品的天南大活动结束共和附近的三姑也为" + 
"什么情况";

1.7.2 数字

JavaScript中数字类型只有一种,整型和浮点型都存储为相同的数据类型。
在书写小数时,请不要省去小数部分,也不能省去整数部分:

//不推荐使用 没有小数部分
var pice = 10.;
//不推荐使用 没有整数部分
var pice = .11;

不要使用8进制的写法

1.7.3 null

null是一个特殊的值,经常和underfined混淆。
下列场景请使用null:
初始化一个变量,这个变量可以赋值为一个对象
用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象。
函数的参数期望是对象时,用作参数转入
当函数的返回值期望是一个对象时,用作返回值传出

下列场景不推荐使用null
不要用null检测是否传入了某个参数
不要用null来检测一个未初始化的变量

// 好的用法  初始化一个变量
var person = null;

// 好的用法  当函数的返回值期望是一个对象时,用作返回值传出
function getPerson(){
        if(condition){
            return new Person("Nicholas");
        }else{
            return null;
    }
}

// 好的用法  用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象。
var person = getPerson();
if(person !== null){
    doSomething();
}

// ======================================================================

// 不好的用法  用来和为初始化的变量比较
var person;
if(person != null){
    doSomething();
}

// 不好的用法  检测是否传入了参数
function doSomething(arg1,arg2,arg3,arg4){
    if(arg4 != null){
        doSomethingElse();
    }
}

理解null的最好办法就是将他当做对象的占位符。

1.7.4 undefined

undefined是一个特殊值,常和null混淆,但二者的用途各不相同。那些没有初始化的变量都有一个初始值,即undefined。表示这个变量等待被赋值。
未赋值的变量和未声明(定义)的变量,使用typeof运算符运算都会返回undefined。

// foo未声明
var person;
console.log(person);    // undefined
console.log(foo);       // undefined

当要声明一个可能为对象的变量时,将其赋值为null。

// 好的用法
var person = null;
console.log(person === null); // true

将变量初始值赋值为null,表明这个变量最终很可能赋值为对象。typeof运算符运算null的类型时返回“Object”,这样就可以和undefined区分开了。

1.7.5 对象直接量

创建对象:将对象的属性用一个花括号括起来

var book = {
    title:"Hello JavaScript",
    author:"myName"
}

1.7.6 数组直接量

和对象直接量类似,数组直接量是JavaScript中定义数组最简洁的一种方式。不赞成显式地使用Array构造函数来创建数组

//不好的写法
var nums = new Array(1,2,3,4);

请直接使用两个方括号将数组初始元素括起来:

//好的写法
var nums = [1,2,3,4];

1.7.7 未初始化的变量和未定义的变量是两个不同概念。

var message; // 这个变量声明之后默认取得了undefined 值
// 下面这个变量并没有声明
// var age
alert(typeof message); // "undefined"
alert(typeof age); // "undefined"

结果表明,对未初始化和未声明的变量执行typeof 操作符都返回了undefined 值。
好的做法:定义变量时始终进行初始化,这样么当typeof 操作符返回"undefined"值时,我们就知道被检测的变量还没有被声明,而不是尚未初始化。
在不知道变量初始化什么值时,可以先用null进行初始化。

相关文章

  • JavaScript检测原始值、引用值、属性

    上周写过一篇读书笔记《编写可维护的JavaScript》之编程实践,其中 第8章 避免『空比较』是博主在工作中遇坑...

  • 编写可维护的JavaScript

    基本的格式化 行的长度: 代码但行长度不超过80个字符 换行:超过单行最大字符限制,手动将一行拆成两行,下一行增加...

  • 编写可维护的javascript

    每个人都有固定的一套编码习惯,但在团队协作过程中,则需要每个人都遵守统一的编码约定和编程方法。 编程风格 基本的格...

  • 编写可维护的 JavaScript

    几乎每个程序员都有接手维护别人遗留项目的经历。或者,有可能一个老项目某一天又被重新启动。 通常情况下,接手老项目都...

  • 前端技术书

    入门级 《JavaScript高级程序设计》 《编写可维护的JavaScript》 《Javascript语言精粹...

  • <编写可维护的JavaScript>读书笔记

    这本书你将学到如何写出具有高维护性的代码,以便团队任何人都可以轻松地理解、修改或扩展你的代码。 “程序是写给人读的...

  • 编写可维护的JAVASCRIPT 读书笔记

    编写可维护的JAVASCRIPT 读书笔记 缩进层级:4个空格字符为一个缩进层级 行的长度:单行不超过80个字符 ...

  • 《编写可维护的javascript》读书笔记

    为什么要编写可维护的javascript? 软件生命周期80%的成本消耗在了维护上。 几乎所有的软件维护者都不是它...

  • <编写可维护的JavaScript>总结

    第一部分 编程风格 "程序是写给人读的,只是偶尔让计算机运行一下" --- Donald Knuth ...

  • 编写可维护的JavaScript——注释

    注释是代码中最常见的组成部分,他们是另一种形式的文档,也是很重要的一部分。 JavaScript支持两种不同类型的...

网友评论

      本文标题:【读书笔记】:《编写可维护的JavaScript》第01章 基本

      本文链接:https://www.haomeiwen.com/subject/zzsvbktx.html