JavaScript进阶篇: 编写高质量代码的语法入门

126 阅读7分钟

近些时日一直挺迷茫,不过没关系,一步一步走总会让路变得清晰。最近在看Javascript红宝书,所以来分享一些知道的与新学的,反复学习总会学到新知识。

语法

区分大小写

在ECMAScript中一切都区分着大小写。无论是变量、函数名还是操作符都区分着大小写。除关键字以外,任何大小写组合的变量名都可作为一个完全有效的函数名。例如continue作为关键字,而Continue可以作为一个完全有效的函数名,但是并不推荐如此使用。

标识符

所谓标识符,就是变量、函数、属性或函数参数的名称。标识符可以由一个或多个下列字符组成:

  • 第一个字符必须是一个字母、下划线(_)或者美元符号($);
  • 剩下的其他字符可以是字母、下划线、美元符号或数字;

标识符中的字母可以是扩展ASCLL(Extended ASCLL)中的字母,也可以是Unicode中的字母字符,按照惯例。ECMAScript表示使用驼峰大小写形式,即第一个单词的首字母小写,后面每个单词的首字母大写。如myPencil、myAge,这种写法虽然不是强制性的,但是因为这种形式和ECMAScript内置函数和对象的命名方式一致,所以算是最佳实现。既然碰到了这个那么我们就多了解一下驼峰命名法。

驼峰命名法

有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname、my_name、MyName或者myName。这样的命名规则不适合所有程序员阅读,而利用驼峰命名法来表示,可以增加程序可读性。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:

printEmployeePaychecks();

print_employee_paychecks();

第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。

骆驼式命名法在许多新的函数库和Microsoft Windows这样的环境中使用得相当多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。

骆驼式命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。 驼峰命名法还分为小驼峰法和大驼峰法

  • 小驼峰法 小驼峰法标识一般用于变量,故其规则就是,除第一个单词以外,其他单词首字母大写
  • 大驼峰法 大驼峰法(帕斯卡命名法)标识一般用于类名和属性,其命名规则就是将所有单词首字母大写,如DataBase。

注释

ECMAScript 采用C语言风格的注释,包括单行注释和块注释。

  1. 单行注释:单行注释以"//"开头,在这之后的所有内容都会被解释器忽略。单行注释不能嵌套在其他单行注释或多行注释中。例如:
// This is a single line comment
var x = 10; // This is also a single line comment
  1. 多行注释:多行注释以"/ "开头,以" /"结尾,在这之间的所有内容都会被解释器忽略。多行注释可以嵌套在其他多行注释中,但是不能嵌套在单行注释中。例如:
/*
This is a multiple
line comment
*/

/*
This is a multiple line comment
/* This is not allowed */
*/

还有一种新的注释

3.行尾注释:以 "//" 开头,在这之后的所有内容都会被解释器忽略。并且只能在行尾出现。例如:

console.log('hello world') // 输出hello world

注释是编程中非常重要的一部分,它可以帮助我们清楚地理解代码的意图,提高代码的可读性。

严格模式

在研读书籍的过程中,确实第一次了解到严格模式,这是网课中容易忽略的(反正我是没印象[尴尬]),那么话不多说,我们来认识一下严格模式。

“严格模式”(strict mode)是 ECMAScript 5 中引入的一种特殊的模式,该模式下的 JavaScript 代码会运行得更加严格,并且会抛出更多的错误信息。

严格模式主要有以下几个特点:

  1. 禁止使用未声明的变量,如果使用了未声明的变量,将会抛出 ReferenceError 错误。
  2. 禁止使用特殊的关键字作为变量名,如果使用了特殊的关键字作为变量名,将会抛出 SyntaxError 错误。
  3. 禁止使用 delete 操作符删除变量、函数、属性等,如果使用了 delete 操作符删除变量、函数、属性等,将会抛出 SyntaxError 错误。
  4. 禁止使用 with 语句,因为 with 语句会导致代码变得难以理解和维护。
  5. 禁止使用 eval() 函数,因为 eval() 函数会导致代码变得难以理解和维护。
  6. 禁止使用arguments.callee和arguments.caller
  7. 变量必须先声明在使用
  8. 禁止将只读属性重新赋值

严格模式可以通过在文件或函数的第一行加入 “use strict” 来启用, 例如:

"use strict";
var x = 10;

或者

function myFunction() {
 "use strict";
 // function body
}

严格模式主要是为了提高代码的健壮性和可维护性,在严格模式下运行的代码更加规范,更少的错误和漏洞。

启用严格模式后,可能会导致一些原本正常运行的代码出现错误,因此需要谨慎使用。

在 ECMAScript 6 中,模块默认也是处于严格模式下的,因此在模块中不需要手动启用严格模式。

总之,严格模式是一种优化代码的方法,可以提高代码的健壮性和可维护性,但是需要注意它可能会导致一些原本正常运行的代码出现错误,因此需要谨慎使用。

语句

JavaScript 程序由若干语句组成,每个语句用来完成特定的任务。

  1. 赋值语句:用于给变量赋值。例如:
var x = 10;
  1. 表达式语句:用于计算表达式的值。例如:
x + 10;
  1. 条件语句:用于根据特定条件执行不同的代码块。例如:
if (x > 10) {
    console.log('x is greater than 10');
} else {
    console.log('x is less than or equal to 10');
}
  1. 循环语句:用于重复执行特定代码块。例如:
for (var i = 0; i < 10; i++) {
    console.log(i);
}
  1. 函数语句:用于定义函数。例如:
function myFunction(a, b) {
    return a + b;
}
  1. return语句:用于结束函数并返回一个值
  2. throw语句:用于抛出一个错误
  3. try-catch语句:用于捕获和处理错误

这些语句是JavaScript编程的基础,通过组合使用这些语句可以完成各种复杂的任务。

关键字与保留字

JavaScript中的关键字和保留字都是编程语言中的特殊字符,它们有着特殊的含义。

关键字: JavaScript 中的关键字是语言的基本组成部分,它们是编程语言的基本操作。如:var,if,else,while,function等。

保留字: JavaScript 中的保留字是语言的预留字符,它们可能在将来的版本中有用,所以不能用于变量、函数名等命名。如:抽象,布尔值,中断,字节等

这些关键字和保留字都是JavaScript语言的基本组成部分,在编写JavaScript代码时要避免使用这些字符作为变量、函数名等命名。

JavaScript 的版本在不断发展,后续新增的关键字或保留字会比现在更多,所以在编程时要注意使用合法字符。

结尾

总之,本文介绍了JavaScript语法的基本知识,并通过实例展示了如何使用这些知识来编写高质量的代码。我希望这篇文章能够帮助初学者更好的理解和掌握JavaScript语法,并为进一步学习和实践打下坚实的基础。