首页 > 编程语言 >10个 JavaScript 开发小技巧

10个 JavaScript 开发小技巧

时间:2022-11-30 11:07:52浏览次数:48  
标签:10 技巧 代码 JavaScript var document 函数

10个 JavaScript 开发小技巧_数组

英文 | https://www.geeksforgeeks.org/javascript-top-10-tips-and-tricks/?ref=rp

翻译 | web前端开发 (ID:web_qdkf)


对于Web开发或跨平台开发,JavaScript越来越流行。以前,它仅被认为是一种前端脚本语言,但现在它也越来越流行为后端脚本语言。甚至Facebook的React Native也基于JavaScript。

因此,了解JavaScript中的一些技巧无疑将是有益的,这些技巧不仅不会阻止我们编写额外的代码行,而且还将使我们的代码清晰高效。

1、数组索引

考虑一个数组[10、9、8、7、6],如果我们想将此数组的值分配给任何变量,则我们的定位方法将是const a = array [0]。如果我们想分配多个变量,那么继续这样做将很繁琐。

代码1: 旧代码做法

<script> 
var array1 = [10, 9, 8, 7, 6];
var x = array1[0];
var y = array1[1];
var z = array1[2];
document.write("x = " + x + "<br>");
document.write("y = " + y + "<br>");
document.write("z = " + z + "<br>");
</script>

输出:

x = 10
y = 9
z = 8

代码2:更聪明的方式

<script>    
var array2 = [10, 9, 8, 7, 6];
var [x, y, z, ...rest] = array2;
document.write("x = " + x + "<br>");
document.write("y = " + y + "<br>");
document.write("z = " + z + "<br>");
document.write("rest = " + rest + "<br>");
</script>

输出:

x = 10
y = 9
z = 8
rest = 7, 6

因此,像这样分配多个变量可以节省时间和代码。但是,应注意,其余部分是剩余部分的集合数组,而不是每个项目都单独使用。

2、定义函数

想法是将一些常见或重复的任务放在一起并创建一个函数,这样我们就可以调用该函数,而不必为不同的输入一次又一次地编写相同的代码。每个人都必须在JavaScript中使用过类似的功能。

代码1:以常规形式定义功能。

<!DOCTYPE html> 
<html>
<body>
<p>Usual function in JavaScript</p>
<p id="demo"></p>
<script>
function myFunction(p1, p2) {
return p1 * p2;
}
document.getElementById("demo").innerHTML
= myFunction(4, 3);
</script>
</body>
</html>

输出:

Usual function in JavaScript
12

代码2:还有另一种方法将函数视为变量,而不是一个非常有用的技巧,但仍然是新事物。将函数保持在变量中,它利用像这样的箭头函数。

<!DOCTYPE html> 
<html>
<body>
<p>
Function treated as
variable in JavaScript:
</p>
<p id="demo"></p>
<script>
var myFunction = (p1, p2) => {
return p1 * p2;
}
document.getElementById("demo")
.innerHTML = myFunction(4, 3);
</script>
</body>
</html>

输出:

Function treated as variable in JavaScript
12

3、在一行中定义功能


现在,这个技巧真的很酷。如果你了解Python,则可能知道lambda函数,该函数的行为与任意函数相同,并且用一行编写。好吧,我们不在JavaScript中使用lambda函数,但是我们仍然可以编写单行函数。


假设我们要计算两个数字a和b的乘积,我们可以在一行脚本中完成。我们不必专门编写return语句,因为这种定义方式已经意味着它将自行返回输出。


<!DOCTYPE html> 
<html>
<body>
<p>
Function treated as
variable in JavaScript
</p>
<p id="demo"></p>
<script>
const productNum = (a, b) => a * b


document.getElementById("demo")
.innerHTML = myFunction(4, 3);
</script>
</body>
</html>

输出:

Function treated as variable in JavaScript
12

4、布尔值

虽然每种编程语言都只有两个布尔值True和False。JavaScript通过引入使用户能够创建bool的功能使它更进一步。

与True和False不同,它们通常分别称为“ Truthy”和“ Falsy”。为避免混淆,除0,False,NaN,null,“”之外的所有值均默认为Truthy。布尔的这种广泛使用有助于我们有效地检查状况。

<script> 
const a = !1;
const b = !!!0;
console.log(a);
console.log(b);
</script>

输出:

False
True

5、过滤布尔值

有时我们可能希望过滤掉所有布尔值,例如从数组中说“ Falsy” 布尔值(0,False,NaN,null,“”),这可以通过结合使用map和filter函数来完成。在这里,它使用Boolean关键字过滤掉Falsy值。

<script> 
arrayToFilter
.map(item => {
// Item values
})


.filter(Boolean);
</script>
Input: [1, 2, 3, 0, "Hi", False, True]
Output: [1, 2, 3, "Hi", True]

6、创建完全空的对象

如果要求在JavaScript中创建一个空的对象,我们的第一个转到方法将在花括号中使用并将其分配给变量。但这不是空白对象,因为它仍然具有JavaScript的对象属性,例如__proto__和其他方法。

可以通过一种方法来创建没有任何对象属性的对象。为此,我们使用字典并将其__proto__定义为空值。

<script>    
/* Using .create() method to create
a completely empty object */
let dict = Object.create(null);
// dict.__proto__ === "undefined"
</script>

除非用户另行定义,否则此对象将没有默认的__proto__或其他属性。

7、截断数组

<script> 
let arrayToTruncate = [10, 5, 7, 8, 3, 4, 6, 1, 0];


/* Specifying the length till where the
array should be truncated */
arrayToTruncate.length = 6;
console.log(arrayToTruncate)
</script>

输出:如所见,我们必须知道要以这种方式截断的数组的长度,否则将导致错误。此处的运行时间为O(k),其中k是将在数组中保留的元素数。

[10、5、7、8、3、4]

8、合并对象

散布运算符()的引入使用户可以轻松地合并到一个或多个对象,而先前通过创建一个单独的函数来实现此操作可以实现合并。

代码1:

<script> 
function mergeObjects(obj1, obj2) {
for (var key in obj2) {
if (obj2.hasOwnProperty(key)) obj1[key] = obj2[key];
}
return obj1;
}
</script>

代码2:通过使用扩展运算符,可以轻松实现上述任务,并且代码也很清楚。

<script>     
const obj1 = {};
// Items inside the object
const obj2 = {};
// Items inside the object
const obj3 = {...obj1, ...obj2};
</script>

9、条件检查

检查和遍历条件是每种编程语言的重要组成部分。在JavaScript中,我们这样做是:

代码1:

<script> 
if (codition) {
doSomething();
}
</script>

代码2:但是,按位运算符的使用使检查条件更加容易,并且使代码仅一行:

<script> 
condition && doSomething();
</script>

10、使用正则表达式替换所有字符

经常出现一种情况,每次出现一个字符或一个子字符串,但不幸的是.replace()方法仅替换一个出现的实例。我们可以通过将regex与.replace()方法配合使用来解决此问题。

<script> 
var string = "GeeksforGeeks"; // Some string
console.log(string.replace(/eek/, "ool"));
</script>

输出:

“ GoolsforGools”


10个 JavaScript 开发小技巧_javascript_02


10个 JavaScript 开发小技巧_数组_03


标签:10,技巧,代码,JavaScript,var,document,函数
From: https://blog.51cto.com/u_15809510/5897819

相关文章

  • JavaScript中常用数据类型,你知道几个?
    作者|慕课网精英讲师Lison这篇文章我们了解一下JavaScript中现有的八个数据类型,当然这并不是JavaScript中的所有数据类型,而是现在版本的TypeScript支持的基本类型,在......
  • 第10章 使用 Kotlin 创建 DSL
    第10章使用Kotlin创建DSL使用DSL的编程风格,可以让程序更加简单干净、直观简洁。当然,我们也可以创建自己的DSL。相对于传统的API,DSL更加富有表现力、更符合人类语言习......
  • 【开发小技巧】02-如何使用canvasJS在PHP中制作动态图表?
    来源| https://www.geeksforgeeks.org/how-to-make-dynamic-chart-in-php-using-canvasjs/CanvasJS是一个JavaScript库,用于轻松为网页创建其他类型的图表。例如条形图,饼图......
  • JavaScript创建对象的3种不同方式
    JavaScript是一种灵活的面向对象的语言。在本文中,我们将看到3种不同的JavaScript创建对象的方法。在此之前,重要的是要注意JavaScript是一种无类语言,并且这些函数以某种方式......
  • 教你用JavaScript获取大转盘
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个大转盘。当你难以抉择的时候不妨用这个案例来帮你做选择。通过编程......
  • Web上的图片技巧
    作者| Ahmad  译者| 飘飘 原文| https://ishadeed.com/article/image-techniques/前端开发者在构建网站时需要做的一个决定是添加图片的技术。它可以是一个HTML......
  • 2010年10月全球web服务器调查
    根据netcraft的调查,2010年10月,对全球232,839,963个网站的web服务器进行了统计,这个月,netcraft在所有域名商观察到有1400万个新站点 如下图,A.........
  • JavaScript基础(一)
    JavaScript基础第01天1-编程语言1.1编程编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。计算机程序:就是计算机所......
  • JavaScript调用App原生代码(iOS、Android)通用解决方案
     实际场景场景:现在有一个H5活动页面,上面有一个登陆按钮,要求点击登陆按钮以后,唤出App内部的登录界面,当登录成功以后将用户的手机号返回给H5页面,显示出来。这个场景应......
  • 题解 CF1091C
    题解CF1091C这个题乍一看,好像有点像约瑟夫问题,但是写完了之后会发现,就会发现TLE了因为\(n\le10^9\),而且用约瑟夫问题写的话每次都会跳k步,肯定会超时超时代码这里......