28 JavaScript学习: 代码规范

news2024/12/28 18:26:28

代码规范通常包括以下几个方面:

  • 变量和函数的命名规则
  • 空格,缩进,注释的使用规则。
  • 其他常用规范……
    在这里插入图片描述

变量名

在编写JavaScript代码时,遵守良好的变量命名规范是非常重要的,这可以增加代码的可读性和可维护性。以下是一些常见的变量命名规范:

  1. 使用有意义且描述性的名称:变量名应该能清楚地表达出变量所代表的含义。

  2. 遵循驼峰命名法:驼峰命名法分为小驼峰和大驼峰两种形式。小驼峰形式(也称为小写驼峰)首字母小写,后续每个单词首字母大写,例如:myVariableName。大驼峰形式(也称为帕斯卡命名法)每个单词的首字母都大写,例如:MyVariableName。

  3. 避免使用单个字符或者简写:使用具有描述性的名称,可以使你的代码更加容易理解和维护。

  4. 使用有意义的名词作为变量名:变量名应该能够清晰地表示变量所存储的数据类型或意图。

  5. 避免使用保留字:JavaScript有一些保留字,不能用作变量名,如if、for等。

  6. 使用恰当的命名约定:如果你正在编写团队项目,最好与团队成员共同制定并遵守一致的命名约定。

  7. 使用英文:尽量使用英文命名变量,这样可以增加代码的读写友好性,方便团队合作和代码的全球化。

选择一个有意义的、能够清楚表达变量含义的名称,并遵循一致的命名规范,将有助于提高你的代码的质量和可维护性。

空格与运算符

在JavaScript中,空格与运算符的使用是良好编码实践的一部分。以下是一些常见的规范:

  1. 在运算符周围添加空格:在二元运算符(如加号、减号、乘号、除号等)前后添加空格,以增加代码的可读性。例如:a + b

  2. 在逗号后添加空格:在逗号分隔的参数列表中,逗号后添加空格,以增加代码的清晰度。例如:func(a, b, c)

  3. 在冒号后添加空格:在对象字面量中的键值对中,冒号后添加空格,以增加代码的清晰度。例如:{ key: value }

  4. 函数声明时的空格:在函数声明时,在函数名和参数列表之间添加一个空格,以增加代码的可读性。例如:function foo() { }

  5. 在关键字前后添加空格:在关键字(如if、for、while等)前后添加空格,以增加代码的清晰度。例如:if (condition) { }

  6. 不要在行尾添加空格:避免在行尾添加多余的空格,以保持代码的整洁性。

代码缩进

在JavaScript中,代码缩进是一种良好的编码习惯和规范,它有助于增加代码的可读性和可维护性。以下是一些常见的代码缩进规范:

  1. 使用空格进行缩进:通常,每个缩进级别使用两个空格来进行缩进。这种缩进风格在JavaScript社区中很常见。

  2. 缩进控制流语句和代码块:例如if语句、for循环、函数定义等,应在其后另起一行,并缩进一个层级。

if (condition) {
  // code here
}

for (let i = 0; i < 10; i++) {
  // code here
}

function foo() {
  // code here
}
  1. 对象字面量的缩进:在对象字面量中的每一对键值对应该缩进一个层级。
const obj = {
  key1: value1,
  key2: value2,
  key3: value3
};
  1. 缩进函数内部的代码:在函数内部的代码应该在函数体开始大括号的下一行进行缩进。
function myFunction() {
  // code here
  if (condition) {
    // code here
  }
}
  1. 不要混合使用空格和制表符(tab):为了保持一致性,在整个代码库中应该选择一种缩进方式,并确保所有人都使用相同的设置。

良好的代码缩进可以提高代码的可读性,同时也方便团队合作、代码维护和排错。选择一种缩进风格并严格遵守它,这将使你的代码更加整洁和易于理解。

语句规则

在JavaScript中,语句规则指的是代码中的语句(statements)的书写规范和使用方式。以下是一些常见的语句规则:

  1. 分号结束语句:在大多数情况下,每个语句都应该以分号(;)结束。这有助于明确代码的结尾,并防止出现意外的行为。
const variable = 1;
console.log(variable);
  1. 使用大括号定义代码块:当使用条件语句(如if、for等)或函数定义时,应该使用大括号({})来定义代码块,即使只有一条语句也应如此。这样可以避免潜在的错误和提高代码的可读性。
if (condition) {
  // code here
}

for (let i = 0; i < 10; i++) {
  // code here
}

function myFunction() {
  // code here
}
  1. 尽量避免使用隐式分号:JavaScript中存在自动插入分号的机制,但依赖于该机制可能导致一些不确定的行为。为了避免这种不确定性,最好在每个语句的结尾显式添加分号。

  2. 注意缩进:良好的缩进可以增加代码的可读性。通常建议使用2个空格或4个空格作为一个缩进级别,并在每个代码块内进行适当的缩进。

  3. 关键字和标识符的使用:关键字(如if、for、while等)在使用时应该与标识符(变量名、函数名等)有区分度。避免将标识符命名为关键字,以免引起冲突或混淆。

  4. 注释你的代码:在复杂的逻辑或不易理解的代码段上方添加注释是一种良好的实践,可以帮助他人理解你的代码。

对象规则

在JavaScript中,对象是一种复合数据类型,用于存储多个值(属性)的集合。以下是一些关于对象的常见规则:

  1. 对象字面量的使用: 可以使用对象字面量的方式创建对象,对象字面量是由花括号({})包围的零个或多个“键值对”组成,键值对之间使用逗号分隔。
const person = {
  name: 'Alice',
  age: 30,
  city: 'New York'
};
  1. 键名的要求: 对象的键名必须是字符串或符号(Symbol),如果不是字符串,则会自动转换为字符串。键名不符合标识符命名规则时,必须加引号。
const myObj = {
  "key1": 'value1',
  "key-with-dashes": 'value2',
  '123': 'value3'
};
  1. 访问对象属性: 使用点号(.)或方括号([])来访问对象的属性。
console.log(person.name); // 输出 'Alice'
console.log(person['age']); // 输出 30
  1. 对象属性的增删改查:
    • 增加属性:直接为对象添加新的属性。
    • 删除属性:使用 delete 关键字删除对象的属性。
    • 修改属性:直接对属性进行赋值操作。
person.gender = 'female'; // 增加属性
delete person.city; // 删除属性
person.age = 31; // 修改属性
  1. 对象属性的遍历: 可以使用 for...in 循环或 Object.keys()Object.values()Object.entries() 方法来遍历对象的属性。
for (let key in person) {
  console.log(`${key}: ${person[key]}`);
}

Object.keys(person).forEach(key => {
  console.log(`${key}: ${person[key]}`);
});
  1. 使用封装和继承: 在面向对象编程中,可以使用构造函数、类、原型等机制来实现对象的封装和继承,从而更好地管理和组织代码。

每行代码字符小于 80

在这里插入图片描述

明白,遵守这个规则可以使代码易于阅读和维护。在保持代码可读性的前提下,你可以使用以下几种方法来确保每行代码字符小于80:

  1. 换行:将较长的行分成多行,保持每行的长度不超过80个字符,可以使用 \ 符号或者空行来换行。
const longString = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut aliquet tortor vel magna semper feugiat. Donec interdum dolor nec lectus rutrum, sed luctus eros bibendum. Cras pellentesque consequat risus at bibendum.';
// 换行示例
const anotherLongString =
  'Suspendisse eleifend dictum dolor sed auctor. Vestibulum tristique vestibulum elit non ultrices. Sed pretium mi ut libero laoreet, vitae porttitor purus euismod. Suspendisse sed porta enim, vel ornare lorem.';
  1. 合并变量和字符串:在需要拼接字符串时,将字符串和变量拼接为一行,可以使代码更加简洁。
const name = 'Alice';
// 合并变量和字符串示例
console.log(`Hello, ${name}!`);
  1. 减少函数参数:减少函数需要的参数数量,可以在代码中减少较长的代码行,优化代码结构。
// 减少函数参数示例
function calculateArea(length, width) {
  return length * width;
}
calculateArea(10, 20);

HTML 载入外部 JavaScript 文件

当然,以下是一个简单的示例,演示如何使用 JavaScript 访问 HTML 元素:

假设你有一个 HTML 文件 index.html 和一个 JavaScript 文件 script.js。在 index.html 中,你有一个 <p> 元素和一个按钮,点击按钮时会触发 JavaScript 函数来修改 <p> 元素的内容。在 script.js 中,你将编写 JavaScript 代码来实现这一功能。

index.html:

<!DOCTYPE html>
<html>
  <head>
    <title>JavaScript Demo</title>
  </head>
  <body>
    <h1>Welcome to my JavaScript Demo</h1>
    <p id="demo">This is a paragraph.</p>
    <button onclick="changeText()">Change Text</button>

    <!-- 载入外部 JavaScript 文件 -->
    <script src="script.js"></script>
  </body>
</html>

script.js:

function changeText() {
  // 使用 document.getElementById() 获取到 <p> 元素
  var paragraph = document.getElementById("demo");

  // 修改 <p> 元素的文本内容
  paragraph.innerHTML = "Text changed!";
}

在这个示例中,当用户点击按钮时,changeText() 函数被调用。这个函数首先使用 document.getElementById() 方法获取到 id 为 “demo” 的 <p> 元素,然后通过修改其 innerHTML 属性来改变文本内容。

确保 script.js 文件与 index.html 文件在同一目录下,并在 HTML 文件中正确地指定了 JavaScript 文件的路径。

使用 JavaScript 访问 HTML 元素

使用 JavaScript 访问 HTML 元素是一种常见的操作,可以通过多种方式实现。在你提供的示例中,使用了 document.getElementById() 方法来获取 <p> 元素,并修改了其内容。

除了 document.getElementById() 方法外,还有其他一些方法可以获取 HTML 元素,比如 document.querySelector() 方法可以根据 CSS 选择器获取元素,而 document.getElementsByClassName() 方法可以根据类名获取元素。根据具体的需求和情况选择合适的方法。

另外,修改 HTML 元素的属性和内容时,可以通过修改元素的属性值或者内部HTML内容来实现。像你的示例中一样,可以直接修改 innerHTML 属性来改变元素的内容,也可以通过修改 innerText 或者 textContent 属性来改变元素的文本内容。

要确保 JavaScript 文件正确地与 HTML 文件链接,并且在需要的时候被正确加载。可以通过在 HTML 文件中使用 <script> 标签引入 JavaScript 文件,也可以通过外部链接的方式引入外部 JavaScript 文件。

文件扩展名

  • HTML 文件后缀可以是 .html (或 .htm)。

  • CSS 文件后缀是 .css 。

  • JavaScript 文件后缀是 .js 。

大小写敏感

大多 Web 服务器 (Apache, Unix) 对大小写敏感: london.jpg 不能通过 London.jpg 访问。

其他 Web 服务器 (Microsoft, IIS) 对大小写不敏感: london.jpg 可以通过 London.jpg 或 london.jpg 访问。
建议统一小写。

关注我,不迷路,共学习,同进步

关注我,不迷路,共学习,同进步

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1647765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高频次的低价监测如何实现

品牌在做控价的过程中&#xff0c;需要对渠道中的低价数据进行监测&#xff0c;但价格数据变化快&#xff0c;涉及的促销信息也很多&#xff0c;如何将这些变化的数据监测到位&#xff0c;同时对于低价的凭证还要截图留证&#xff0c;以便有效的进行渠道治理&#xff0c;这就需…

【算法练级js+java】重复给定字符n次

题目 Repeats the given string n times.&#xff08;复制指定的字符串n次&#xff09; 期望结果 /** * Repeats the given string n times. * * repeat(‘, 3) * // > **’ * * repeat(‘abc’, 2) * // > ‘abcabc’ * * repeat(‘abc’, 0) * // > “” **/ 代码…

LLaMA 羊驼系大语言模型的前世今生

关于 LLaMA LLaMA是由Meta AI发布的大语言系列模型&#xff0c;完整的名字是Large Language Model Meta AI&#xff0c;直译&#xff1a;大语言模型元AI。Llama这个单词本身是指美洲大羊驼&#xff0c;所以社区也将这个系列的模型昵称为羊驼系模型。 Llama、Llama2 和 Llama3…

快速入门Jmeter5.X 性能测试小白到高手这一篇就够了

&#x1f680; 作者 &#xff1a;“二当家-小 D” &#x1f680; 博主简介&#xff1a;⭐前荔枝 FM 架构师、阿里资深工程师||曾任职于阿里巴巴担任多个项目负责人&#xff0c;8 年开发架构经验&#xff0c;精通 java, 擅长分布式高并发架构, 自动化压力测试&#xff0c;微服务…

如何使git提交的时候忽略一些特殊文件?

认识.gitignore文件 在生成远程仓库的时候我们会看到这样一个选项&#xff1a; 这个.gitignore文件有啥用呢&#xff1f; .gotignore文件是Git版本控制系统中的一个特殊文件。用来指定哪些文件或者目录不被Git追踪或者提交到版本库中。也就意味着&#xff0c;如果我们有一些文…

Android build.prop生成过程源码分析

Android的build.prop文件是在Android编译时刻收集的各种property【LCD density/语言/编译时间, etc.】&#xff1b;编译完成之后&#xff0c;文件生成在out/target/product/<board【OK1000】>/system/目录下&#xff1b;在Android运行时刻可以通过property_get()[c/c域] …

使用QSS实现圆角 button and widget 组合

1、实现效果 2、QSS代码 #widget {min-height : 40px;max-height : 40px;border : 4px solid white;border-top-left-radius : 24px;border-bottom-left-radius : 24px;padding : 0;background : #AAA; }QPushButton#pushButton {min-height : 40px;max-height : 40px;min-wid…

打开深度学习的锁:(0)什么是神经网络?有哪些必备的知识点准备?

PS&#xff1a;每每温故必而知新 什么是神经网络&#xff1f; 一、一个单神经元的神经网络二、多个单神经元的神经网络三、到底什么是机器学习&#xff1f;&#xff08;重点&#xff09;1&#xff1a;什么是机器学习的训练&#xff1f;2&#xff1a;什么是模型&#xff1f;权重…

一起长锈:4 默认不可变的变量绑定与引用(从Java与C++转Rust之旅)

讲动人的故事,写懂人的代码 故事梗概:在她所维护的老旧Java系统即将被淘汰的危机边缘,这位在编程中总想快速完事的女程序员,希望能转岗到公司内部使用Rust语言的新项目组,因此开始自学Rust;然而,在掌握了Rust编程知识之后,为了通过Rust项目组的技术面试,使得转岗成功而…

记一次springboot jpa更新复杂几何类型报错Only simple geometries should be used

问题&#xff1a; 更新数据时&#xff0c; 几何字段MultiPolygon类型时报错&#xff1b; java.lang.IllegalStateException: Only simple geometries should be used 几何字段Point类型时不报错&#xff1b; 新增时字段存在MultiPolygon不报错。 查看日志可知&#xff0c;…

Linux基本指令(下下)

各位大佬好 &#xff0c;这里是阿川的博客 &#xff0c; 祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 本篇博客续我之前的Linux指令&#xff08;下&a…

偏微分方程算法之椭圆型方程差分格式编程示例

目录 一、示例1-五点菱形格式 1.1 C代码 1.2 计算结果 二、示例2-九点紧差分格式 2.1 C代码 2.2 计算结果 三、示例3-二阶混合边值 3.1 C代码 3.2 计算结果 本专栏对椭圆型偏微分方程的三种主要差分方法进行了介绍&#xff0c;并给出相应格式的理论推导过程。为加深对…

百度Comate:你的智能编程助手,让代码编写更高效

一、引言 随着AI和人工智能技术的快速发展&#xff0c;越来越多的行业开始尝试将AI技术应用于实际业务中&#xff0c;包括编程领域。目前逐渐有大量的IT开发工程师开始使用各类的AI工具来帮助改善编程体验、提高效率和增加代码质量&#xff0c;将极大地推动了编程行业的进步和…

虚拟机装CentOS镜像

起先&#xff0c;是先安装一个VM虚拟机&#xff0c;再去官方网站之类的下载一些镜像&#xff0c;常见镜像有CentOS镜像&#xff0c;ubantu镜像&#xff0c;好像还有一个树莓还是什么的&#xff0c;软件这块&#xff0c;日新月异&#xff0c;更新太快&#xff0c;好久没碰&#…

7个AI驱动的3D模型生成器

老子云AI生成3D模型https://www.laozicloud.com/aiModel 在快速发展的技术世界中&#xff0c;人工智能 (AI) 已经改变了游戏规则&#xff0c;尤其是在 3D 对象生成领域。 AI 驱动的 3D 对象生成器彻底改变了我们创建和可视化 3D 模型的方式&#xff0c;使该过程更加高效、准确…

【ElasticSearch】IK分词器中停用词问题

问题描述 在ES中进行部分关键词搜索时&#xff0c;搜索无结果&#xff0c;如搜索 【IT】 环境描述 中文分词插件 这里使用的是 analysis-ik 分词调试 POST test_index/_analyze {"text":"IT Manager","analyzer": "ik_max_word"…

[开发|鸿蒙] DevEco Studio编译构建(笔记,持续更新)

构建体系 编译构建是将应用/服务的源代码、资源、第三方库等&#xff0c;通过编译工具转换为可直接在硬件设备上运行的二进制机器码&#xff0c;然后再将二进制机器码封装为HAP/APP软件包&#xff0c;并为HAP/APP包进行签名的过程。其中&#xff0c;HAP是可以直接运行在模拟器…

LeetCode738:单调递增的数字

题目描述 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 332 代码 class Solution { public:int monotoneIncreasingDigits(…

个人出租房屋收入需汇算吗?柯桥会计培训

2023年度个人所得税综合所得汇算清缴正在进行&#xff0c;个人出租房屋的收入需并入汇算清缴吗&#xff1f;汇算最后一步显示免申报是什么意思&#xff1f; 1 个人出租房屋的收入需并入汇算清缴吗&#xff1f; 答&#xff1a;不用。根据《国家税务总局关于办理2023年度个人所…

2024深圳杯数学建模C题完整思路+配套解题代码+半成品参考论文持续更新

所有资料持续更新&#xff0c;最晚我们将于5.9号更新参考论文。 【无水印word】2024深圳杯A题成品论文23页mtlab(python)双版本代码https://www.jdmm.cc/file/27105652024深圳杯数学建模C题完整思路配套解题代码半成品参考论文持续更新https://www.jdmm.cc/file/2710545 深圳杯…