更好的 JS 代码该怎么编写 一文讲明白

简介: Javascript 是浏览器可以理解的语言,它用于加载动态内容而无需刷新页面。今天列举一些用用更少的代码又更具可读性方式来编写 JS

使用模板字符串
模板字符串是可以嵌入表达式中的字符串(变量),它可以让代码更加简单和易读。

var code = "javascript";
var str = I love ${code} I love ${code};
如果没有模板字符串,我们需要这么写:

var code = "javascript";
var str1 = "n I love " + code + "n I love " + code + "n";
使用三元运算符
在编程中,会遇到逻辑操作。如果要在两条语句之间执行逻辑,三元操作符的可读性要高得多。

let price= isMember ? '$2.00' : '$10.00'
使用Include语句
JS 中的 include 语句是一种在数组和句子中搜索字符串的更简单的方法。

var str = "I love JavaScript.";
var word = str.includes("javaScript"); // result: true
数组也可以使用 include 方法:

var str = ["taimoor", "ali", "umer"];
var n = str.includes("taimoor"); // result: true
空合并运算符
如果我们使用的是第三方API,可能会遇到相同的key-value不会出现在每个查询中。这样我们必须检查JSON中的空键,以免出现错误。

要检查空键,可以使用以下方法:

条件语句
空合并运算符(??)-(推荐)
例如,我们有如下JSON:

var person = {
name: "Taimoor Sattar",
age: 21,
metadata: {
hobby: "football, blog"
}
}

//代码效果参考:http://www.hnjlyzjd.com/xlxx/fb_288.html
使用条件语句,我们可以访问JSON的 matadata 中的 hobby 属性,如下所示

let hobby = "";
if (person.metadata){
hobby = person.metadata.hobby ? person.metadata.hobby : "";
}
使用空合并操作符,我们只需要这样做:

let hobby = person.metadata?.hobby ?? "";
上面的代码检查JSON元数据中的 hobby 键,如果可用,则返回值,否则返回空字符串。

函数默认参数
JS 中的一些函数允许我们发送选项参数。根据可选参数,函数的返回值可以更改。

function outputName(name="taimoor"){
return name;
}

let string1 = outputName(); // result: taimoor
let string2 = outputName("ali"); // result: ali
参数的类型检查
在某些情况下,函数参数要有类型的限制,我们可以这样检查函数的类型:

function sum(a, b){
let result = (typeof a == "number" && typeof b == "number") ? a + b : null;
return result
}

sum("s", 6) // result: null
sum(4, 6) // result: 10
使用 Try/Catch 包装代码
Try/Catch 语句用于检查代码中的错误。如果出错,将运行catch语句。

try{
functionnotexist();
}catch(e){
console.log("error");
}
解构
通过解构,我们可以将复杂的结构提取我们需要的部分。

function outputName({name = "taimoor"}){ // De-structuring
return name;
}

var person = {
name: "Taimoor Sattar",
age: 21,
metadata: {
hobby: "football, blog"
}
}

let str = outputName(person); // Taimoor Sattar
编写DRY代码
DRY(不要重复自己),避免在代码中重复以免造成混淆。为避免代码混乱,可以遵循以下规则。

编写可重用函数
为变量和函数定义明确的名称

相关文章
|
6天前
|
JavaScript
JS代码动态打印404页面源码
源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
8 0
JS代码动态打印404页面源码
|
13天前
|
前端开发 JavaScript
js 等待接口访问成功后执行指定代码【3种方法】(含async await Promise的使用)
js 等待接口访问成功后执行指定代码【3种方法】(含async await Promise的使用)
8 1
|
14天前
|
JavaScript
js 【实用技巧】给全文代码添加一键复制按钮
js 【实用技巧】给全文代码添加一键复制按钮
13 1
|
14天前
|
前端开发 JavaScript 定位技术
JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法
JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法
17 1
|
15天前
|
JSON JavaScript 前端开发
JavaScript 技巧:干净高效的代码写法
JavaScript 技巧:干净高效的代码写法
13 1
|
15天前
|
前端开发 JavaScript Serverless
前端新手建议收藏的JavaScript 代码技巧
前端新手建议收藏的JavaScript 代码技巧
|
22天前
|
JavaScript 前端开发 Java
JavaScript小数四舍五入的代码
JavaScript小数四舍五入的代码
29 8
|
21天前
|
JavaScript 前端开发 Java
java 执行 javascript 代码
java 执行 javascript 代码
19 6
|
20天前
|
前端开发 JavaScript
JavaScript 时空编织者:驾驭代码的控制流程
JavaScript 时空编织者:驾驭代码的控制流程
|
20天前
|
前端开发 JavaScript
JavaScript 魔法秘笈:编织梦幻般的代码艺术王国
JavaScript 魔法秘笈:编织梦幻般的代码艺术王国