近些时日一直挺迷茫,不过没关系,一步一步走总会让路变得清晰。最近在看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语言风格的注释,包括单行注释和块注释。
- 单行注释:单行注释以"//"开头,在这之后的所有内容都会被解释器忽略。单行注释不能嵌套在其他单行注释或多行注释中。例如:
// This is a single line comment
var x = 10; // This is also a single line comment
- 多行注释:多行注释以"/ "开头,以" /"结尾,在这之间的所有内容都会被解释器忽略。多行注释可以嵌套在其他多行注释中,但是不能嵌套在单行注释中。例如:
/*
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 代码会运行得更加严格,并且会抛出更多的错误信息。
严格模式主要有以下几个特点:
- 禁止使用未声明的变量,如果使用了未声明的变量,将会抛出 ReferenceError 错误。
- 禁止使用特殊的关键字作为变量名,如果使用了特殊的关键字作为变量名,将会抛出 SyntaxError 错误。
- 禁止使用 delete 操作符删除变量、函数、属性等,如果使用了 delete 操作符删除变量、函数、属性等,将会抛出 SyntaxError 错误。
- 禁止使用 with 语句,因为 with 语句会导致代码变得难以理解和维护。
- 禁止使用 eval() 函数,因为 eval() 函数会导致代码变得难以理解和维护。
- 禁止使用arguments.callee和arguments.caller
- 变量必须先声明在使用
- 禁止将只读属性重新赋值
严格模式可以通过在文件或函数的第一行加入 “use strict” 来启用, 例如:
"use strict";
var x = 10;
或者
function myFunction() {
"use strict";
// function body
}
严格模式主要是为了提高代码的健壮性和可维护性,在严格模式下运行的代码更加规范,更少的错误和漏洞。
启用严格模式后,可能会导致一些原本正常运行的代码出现错误,因此需要谨慎使用。
在 ECMAScript 6 中,模块默认也是处于严格模式下的,因此在模块中不需要手动启用严格模式。
总之,严格模式是一种优化代码的方法,可以提高代码的健壮性和可维护性,但是需要注意它可能会导致一些原本正常运行的代码出现错误,因此需要谨慎使用。
语句
JavaScript 程序由若干语句组成,每个语句用来完成特定的任务。
- 赋值语句:用于给变量赋值。例如:
var x = 10;
- 表达式语句:用于计算表达式的值。例如:
x + 10;
- 条件语句:用于根据特定条件执行不同的代码块。例如:
if (x > 10) {
console.log('x is greater than 10');
} else {
console.log('x is less than or equal to 10');
}
- 循环语句:用于重复执行特定代码块。例如:
for (var i = 0; i < 10; i++) {
console.log(i);
}
- 函数语句:用于定义函数。例如:
function myFunction(a, b) {
return a + b;
}
- return语句:用于结束函数并返回一个值
- throw语句:用于抛出一个错误
- try-catch语句:用于捕获和处理错误
这些语句是JavaScript编程的基础,通过组合使用这些语句可以完成各种复杂的任务。
关键字与保留字
JavaScript中的关键字和保留字都是编程语言中的特殊字符,它们有着特殊的含义。
关键字: JavaScript 中的关键字是语言的基本组成部分,它们是编程语言的基本操作。如:var,if,else,while,function等。
保留字: JavaScript 中的保留字是语言的预留字符,它们可能在将来的版本中有用,所以不能用于变量、函数名等命名。如:抽象,布尔值,中断,字节等
这些关键字和保留字都是JavaScript语言的基本组成部分,在编写JavaScript代码时要避免使用这些字符作为变量、函数名等命名。
JavaScript 的版本在不断发展,后续新增的关键字或保留字会比现在更多,所以在编程时要注意使用合法字符。
结尾
总之,本文介绍了JavaScript语法的基本知识,并通过实例展示了如何使用这些知识来编写高质量的代码。我希望这篇文章能够帮助初学者更好的理解和掌握JavaScript语法,并为进一步学习和实践打下坚实的基础。