- JavaScript 教程
- JavaScript 教程
- Javascript - 概述
- Javascript - 功能
- 在浏览器中启用 JavaScript
- JavaScript - 放置在 HTML 文件中
- JavaScript - 语法
- JavaScript - Hello World 程序
- JavaScript - Console.log()方法
- JavaScript - 注释
- JavaScript - 变量
- JavaScript - let 语句
- JavaScript - 常量
- JavaScript - 数据类型
- JavaScript - 类型转换
- JavaScript - 严格模式
- JavaScript - 保留关键字
- JavaScript 运算符
- JavaScript - 运算符
- JavaScript - 算术运算符
- JavaScript - 比较运算符
- JavaScript - 逻辑运算符
- JavaScript - 按位运算符
- JavaScript - 赋值运算符
- JavaScript - 条件运算符
- JavaScript - typeof 运算符
- JavaScript - Nullish 合并运算符
- JavaScript - Delete 运算符
- JavaScript - 逗号运算符
- JavaScript - 分组运算符
- JavaScript - Yield 运算符
- JavaScript - Spread 运算符
- JavaScript - 幂运算符
- JavaScript - 运算符优先级
- JavaScript 控制流
- JavaScript - if...else 语句
- JavaScript - While 循环
- JavaScript - For 循环
- JavaScript - For...in 循环
- JavaScript - For...of 循环
- JavaScript - 循环控制
- JavaScript - Break 语句
- JavaScript - Continue 语句
- JavaScript - Switch Case 语句
- JavaScript - 用户定义的迭代器
- JavaScript 函数
- JavaScript - 函数
- JavaScript - 函数表达式
- JavaScript - 函数参数
- JavaScript - 默认参数
- JavaScript - Function() 构造函数
- JavaScript - 函数提升
- JavaScript - 自调用函数
- JavaScript - 箭头函数
- JavaScript - 函数调用
- JavaScript - 函数 call() 方法
- JavaScript - 函数 apply() 方法
- JavaScript - 函数 bind() 方法
- JavaScript - 闭包
- JavaScript - 变量范围
- JavaScript - 全局变量
- JavaScript - 智能函数参数
- JavaScript 对象
- JavaScript - Number 对象
- JavaScript - 布尔对象
- JavaScript - String 对象
- JavaScript - Array 对象
- JavaScript - 日期对象
- JavaScript - DataView 对象
- JavaScript - 处理程序
- JavaScript - math 对象
- JavaScript - 正则表达式
- JavaScript - Symbol 对象
- JavaScript - Set(集)对象
- JavaScript - WeakSet 对象
- JavaScript - Maps (地图) 对象
- JavaScript - WeakMap 对象
- JavaScript - Iterables 对象
- JavaScript - Reflect 对象
- JavaScript - TypedArray 对象
- JavaScript - 模板文本
- JavaScript - tagged 模板
- 面向对象的 JavaScript
- JavaScript - 对象概述
- JavaScript - 类(Classes)
- JavaScript - 对象属性
- JavaScript - 对象方法
- JavaScript - Static(静态)方法
- JavaScript - display(显示)对象
- JavaScript - 对象访问器
- JavaScript - 对象构造函数
- JavaScript - 原生原型
- JavaScript - ES5 对象方法
- JavaScript - Encapsulation(封装)
- JavaScript - Inheritance(继承)
- JavaScript - Abstraction(抽象)
- JavaScript - Polymorphism(多态性)
- JavaScript - 解构赋值
- JavaScript - 对象解构
- JavaScript - 数组解构
- JavaScript - 嵌套解构
- JavaScript - 可选链接
- JavaScript - 全局对象
- JavaScript - Mixin
- JavaScript - Proxies(代理)
- JavaScript 版本
- JavaScript - 历史
- JavaScript - 版本
- JavaScript - ES5
- JavaScript cookies
- JavaScript - Cookies
- JavaScript - Cookie 属性
- JavaScript - 删除 Cookie
- JavaScript 浏览器 BOM
- JavaScript - 浏览器对象模型
- JavaScript - Window 对象
- JavaScript - Document 对象
- JavaScript - Screen 对象
- JavaScript - History 对象
- JavaScript - navigator 对象
- JavaScript - Location 对象
- JavaScript - Console 对象
- JavaScript Web API
- JavaScript - Web API
- JavaScript - history API( 历史 API)
- JavaScript - Storage API(存储 API)
- JavaScript - Forms API(表单 API)
- JavaScript - Worker API
- JavaScript - Fetch API (获取 API)
- JavaScript - Geolocation API (地理位置 API)
- JavaScript 事件
- JavaScript - Events (事件简介)
- JavaScript - DOM 事件
- JavaScript - addEventListener()
- JavaScript - 鼠标事件
- JavaScript - 键盘事件
- JavaScript - 表单事件
- JavaScript - 窗口/文档事件
- JavaScript - 事件委派
- JavaScript - 事件冒泡
- JavaScript - 事件捕获
- JavaScript - 自定义事件
- JavaScript 错误处理
- JavaScript - 错误和异常处理
- JavaScript - try...catch 语句
- JavaScript - 调试
- JavaScript - 自定义错误
- JavaScript - 扩展错误
- JavaScript 重要关键词
- JavaScript - this 关键字
- JavaScript - void 关键字
- JavaScript - new 关键字
- JavaScript - var 关键字
- JavaScript HTML DOM
- JavaScript - 文档对象模型或 DOM
- JavaScript - DOM 方法
- JavaScript - DOM 文档
- JavaScript - DOM 元素
- JavaScript - DOM 表单
- JavaScript - 更改 HTML
- JavaScript - 更改 CSS
- JavaScript - DOM 动画
- JavaScript - DOM 导航
- JavaScript - DOM 集合
- JavaScript - DOM 节点列表
- JavaScript 杂项
- JavaScript - Ajax
- JavaScript - 异步迭代
- JavaScript - Atomics 对象 (原子对象)
- JavaScript - Rest 参数
- JavaScript - 页面重定向
- JavaScript - 对话框
- JavaScript - 页面打印
- JavaScript - 表单验证
- JavaScript - 动画
- JavaScript - 多媒体
- JavaScript - Image Map(图像映射)
- JavaScript - 浏览器兼容性
- JavaScript - JSON
- JavaScript - 多行字符串
- JavaScript - 日期格式
- JavaScript - 获取日期方法
- JavaScript - 设置日期方法
- JavaScript - 模块
- JavaScript - 动态导入
- JavaScript - BigInt 数据类型
- JavaScript - Blob
- JavaScript - Unicode
- JavaScript - 浅层复制
- JavaScript - 调用堆栈
- JavaScript - 引用类型
- JavaScript - IndexedDB
- JavaScript - 点击劫持攻击
- JavaScript - Currying (局部套用)
- JavaScript - 图形
- JavaScript - Canvas
- JavaScript - Debouncing (防抖)
- JavaScript - 性能
- JavaScript - 样式指南
- JavaScript - 内置函数
JavaScript - 样式指南
JavaScript 风格指南是一组规范如何编写 JavaScript 代码的一般规则。这些规则可以包括: 使用哪些引号、缩进多少个空格、最大行长、使用单行注释、标有 // 等。
当任何公司开始开发实时 JavaScript 项目时,成千上万的开发人员都在努力。如果每个开发人员都遵循不同的代码编写风格,那么管理复杂的代码就会变得非常困难。因此,在整个项目中遵循相同的代码样式非常重要。
在这里,我们介绍了开发项目时要遵循的一些基本编码约定。
代码缩进
根据项目的编码约定,您应该始终使用固定空格(2、3 或 4 个空格)来编写代码。此外,代码不应包含尾随空格。
例在下面的代码中,我们在函数中使用了三个空格缩进。
<html>
<body>
<h2> Intendation Conventions </h2>
<div id = "output"> </div>
<script>
const output = document.getElementById('output');
function func() {
output.innerHTML = "Function executed!";
return 10;
}
func();
</script>
</body>
</html>
评论
您应该始终使用行注释而不是块注释,并且行注释应从代码的左侧开始。
例在下面的代码中,我们使用 '//' 行注释来注释代码。
<html>
<body>
<h2> Comment Conventions </h2>
<div id="output"> </div>
<script>
const output = document.getElementById('output');
output.innerHTML = "Hello World!";
// var a = 10;
// var b = 20;
</script>
</body>
</html>
变量声明
始终在其范围的顶部声明变量。如果变量是全局变量,请在文件顶部声明它。同样,如果变量位于 th 块或函数中,则将其声明为块或函数的顶部。此外,变量名称必须以字母开头。
例在下面的代码中,我们在代码顶部声明了变量,每个变量的名称都以字母开头。
<html>
<body>
<h2> Variable Conventions </h2>
<div id="output"> </div>
<script>
var a = 10;
var b = 20;
document.getElementById('output').innerHTML =
"The sum of 10 and 20 is: " + (a + b);
</script>
</body>
</html>
camelCase 命名法中的标识符名称
在 JavaScript 中,始终使用 camelCase 约定来定义标识符。在 camelCase 约定中,标识符的第一个字母应为小写,第 2 个单词的第一个字母应为大写。此处,标识符包括函数名称、变量名称、对象名称、类名称等。
例在下面的代码中,'greetMessage' 和 'executeGreet' 这两个标识符都采用 camelCase。
<html>
<body>
<h2> camelCase Conventions </h2>
<div id="output"> </div>
<script>
var greetMessage = "Hello Developers!";
let output = document.getElementById('output');
// Function name with camelCase
function executeGreet() {
output.innerHTML = greetMessage;
}
executeGreet();
</script>
</body>
</html>
空格和方括号
在 JavaScript 中,我们应该在每个运算符前后包含空格,例如 '+'、'typeof' 等。此外,在括号周围包含空格也很重要。
例在下面的代码中,我们在 'if' 条件后添加了适当的空格。此外,我们还在 '+=' 运算符之前和之后添加了空格。
<html>
<body>
<h2> Space and all brackets Conventions </h2>
<div id="output"> </div>
<script>
let output = document.getElementById('output');
if (9 > 10) {
output.innerHTML += "9 is greater than 10";
} else {
output.innerHTML += "9 is not greater than 10";
}
</script>
</body>
</html>
对象规则
在 JavaScript 中,我们使用 '=' 赋值运算符,并在对象标识符后使用左方括号 '{'。接下来,我们编写对象属性(用分号分隔的键值对),并将每个属性写入新行并用逗号 (,) 分隔它们。此外,我们不会在最后一个 object 属性后放置逗号。最后,我们在添加右括号后添加分号 (;)。
例在下面的代码中,我们根据对象准则定义了对象。此外,我们还使用 JSON.stringify() 方法在 Web 页面上显示对象。
<html>
<body>
<h2> Object Conventions </h2>
<div id="output"> </div>
<script>
const obj = {
prop1: 'value1',
prop2: 'value2',
prop3: 'value3'
};
document.getElementById("output").innerHTML = JSON.stringify(obj, null, 2);
</script>
</body>
</html>
对账单规则
JavaScript 中有 3 种类型的语句。
- 简单的单行语句
- Compound 语句
- 多行语句
简单的单行语句应始终以分号结尾。
对于 compound 语句,我们将空格和左括号放在同一行的语句后面。接下来,我们从下一行开始添加语句正文,在最后一行中,我们添加右括号。我们不会在右括号后放置分号。
如果语句太长,不能写成单行,我们可以在运算符后添加换行符。
例在下面的代码中,我们定义了单个单行、复合和多行语句。
<html>
<body>
<h2> Statement Guidelines Conventions </h2>
<div id="output"> </div>
<script>
const output = document.getElementById('output');
// single line statement
const arr = ["one", "two", "Three"];
// Compound statement
for (let i = 0; i < arr.length; i++) {
output.innerHTML += arr[i] + "<br>";
}
// Multi-line statement
if (10 > 9 && 10 > 5 && 10 > 6) {
output.innerHTML += "10 is greater than 9 and 10 is greater than 5 <br>";
}
</script>
</body>
</html>
代码长度
阅读长行代码总是很困难的。因此,我们应该在一行中最多放置 80 个字符。
例在下面的代码中,我们在新行中添加了一个半个字符串,因为它包含超过 80 个字符。
<html>
<body>
<h2> Line length Conventions </h2>
<div id="output"> </div>
<script>
let str = `This is too long a sentence.
Let's put the limit of 80 characters.`
document.getElementById('output').innerHTML = str;
</script>
</body>
</html>
我们在本教程中解释了常见的样式约定。但是,您可以拥有自己的编码约定,并在整个项目中遵循它们。