- 句末分号: 当存在换行符(line break)时,在大多数情况下可以省略分号,JavaScript 将换行符理解成“隐式”的分号。 错误情况:
alert("Hello")
[1, 2].forEach(alert);
会被浏览器解析为:
alert("Hello")[1, 2].forEach(alert);
直接报错,因此,最好不要省略分号。
- 注释: ctrl + shift + / 多行注释
/* 两个消息的例子。 这是一个多行注释。 */ alert('Hello');
不支持嵌套注释:
/* /* 嵌套注释 ?!? */ */
alert( 'World' );
- use strict 严格模式一旦使用,无法取消
alert("some code");
// 下面的 "use strict" 会被忽略,必须在最顶部。
"use strict";
// 严格模式没有被激活
现代 JavaScript 支持 “classes” 和 “modules” —— 高级语言结构,它们会自动启用 use strict。
- 变量:let
- 函数式编程语言:
在这种类型的语言中,一旦变量赋值,这个值就会永远存在。如果想要改变变量的值,会强制声明一个新变量,无法重用之前的变量。
- 变量命名:
名称必须仅包含字母(包括汉字)、数字、$、_ ;
首字母必须非数字;
如果命名包括多个单词,通常采用驼峰式命名法;
先声明,后使用;
let $ = 1; // 使用 "$" 声明一个变量
let _ = 2; // 现在用 "_" 声明一个变量
alert($ + _); // 3
//错误命名
let 1a; // 不能以数字开始
let my-name; // 连字符 '-' 不允许用于变量命名
保留字列表:保留字不能用作变量命名。
- 常量:const
const BIRTHDAY = '18.04.1982'; //代码执行前,值就确定了,可以用大写;
BIRTHDAY = '01.01.2001'; // 错误,不能对常量重新赋值
const age = someCode(birthday); //age 的值是计算出来的,用小写
- 变量命名规则
-
名字易读,如 userName;
-
尽量不要用缩写和短名称,如 a、b、c;
-
变量名在能够准确描述变量的同时要足够简洁,不好的例子就是 data 和 value,这样的名称等于什么都没说;
-
脑海中的术语要和团队保持一致。如果网站的访客称为“用户”,则我们采用相关的变量命名,比如
currentUser或者newUser,而不要使用currentVisitor或者newManInTown。