Web前端开发|JavaScript开发小技巧_惠州前端培训学校
作者:hz_admin01发布时间:2022-04-15分类:前端开发专业浏览:561
今天惠州北大青鸟老师给大家分享一下Web前端开发|JavaScript开发小技巧,希望对大家学习有帮助。
对于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”
想了解更多关于前端的资讯,可以来惠州北大青鸟新方舟校区了解一下。
标签:惠州前端培训学校惠州前端基础惠州前端培训北大青鸟IT计算机学校北大青鸟IT软件学校前端北大青鸟IT学校惠州北大青鸟北大青鸟
- 前端开发专业排行
- 标签列表
-
- Java (3694)
- 北大青鸟 (3713)
- 软件开发 (3613)
- JAVA (3413)
- UI设计入门 (2093)
- 惠州北大青鸟 (4375)
- 惠州IT培训 (2558)
- UI设计培训 (2090)
- 惠州UI设计培训 (2095)
- 惠州UI设计培训学校 (2090)
- 惠州计算机软件培训 (6260)
- 惠州计算件软件开发 (6260)
- 惠州计算机软件基础 (6261)
- 惠州计算机JAVA培训 (3574)
- 惠州计算机Java软件开发 (3620)
- 惠州计算机JAVA软件开发 (4645)
- 惠州计算机JAVA软件开发学校 (3338)
- 惠州计算机Java软件开发培训 (3338)
- 北大青鸟IT计算机学校 (5048)
- 北大青鸟IT软件学校 (5062)
- 北大青鸟IT学校 (5059)
- 惠州计算机UI设计软件开发 (2088)
- UI设计基础教程 (2088)
- UI设计是什么 (2088)
- UI设计教程 (2088)
- 网站分类
-
- 计算机教程
- 计算机入门
- 职业学校
- 新闻动态
- 专业课程
- 热门技术
- SEO
- 培训教程
- windows
- linux教程
- 系统集成
- 网站开发
- Html5
- 办公软件
- 师资力量
- 热点问答
- 联系我们
- 计算机学校
- 惠州计算机学校
- 河源计算机学校
- 广州计算机学校
- 深圳计算机学校
- 湛江计算机学校
- 佛山计算机学校
- IT计算机培训信息
- 设计专业
- UI
- 影视特效
- 游戏动漫设计
- Photoshop
- AI设计
- 软件教程
- Java技术
- C语言/C++语言培训
- C#
- Python技术
- PHP
- 数据库
- SQL Server
- 网络教程
- 网络安全
- 网络营销
- 软件专业
- 大数据专业
- 前端开发专业
- 软件测试专业
- Python专业
- 软件实施
- 珠海计算机学校
- 初中生学什么好
- 计算机认证
- 文章归档
-
- 2024年11月 (14)
- 2024年10月 (32)
- 2024年9月 (29)
- 2024年8月 (68)
- 2024年7月 (59)
- 2024年6月 (43)
- 2024年5月 (48)
- 2024年4月 (80)
- 2024年3月 (65)
- 2024年2月 (54)
- 2024年1月 (25)
- 2023年12月 (12)
- 2023年11月 (73)
- 2023年10月 (134)
- 2023年9月 (34)
- 2023年8月 (3)
- 2023年7月 (3)
- 2023年6月 (12)
- 2023年5月 (30)
- 2023年4月 (72)
- 2023年3月 (11)
- 2023年2月 (34)
- 2023年1月 (37)
- 2022年12月 (78)
- 2022年11月 (359)
- 2022年6月 (1193)
- 2022年5月 (570)
- 2022年4月 (1567)
- 2022年3月 (982)
- 2022年2月 (54)
- 2022年1月 (182)
- 2021年9月 (308)
- 2021年8月 (1704)
- 2021年7月 (2423)
- 2021年6月 (1806)
- 2021年5月 (1569)
- 2021年4月 (1380)
- 2021年3月 (1255)
- 2021年2月 (709)
- 2021年1月 (1521)
- 2020年12月 (3626)
- 2020年11月 (1646)
- 2020年10月 (1046)
- 2020年9月 (592)
- 最近发表
-
- 清远信息:2024年广清杯清远南粤家政技能大赛举行决赛|||计算机培训机构
- 汕尾信息:陈良川带队到汕尾技师学院调研|||计算机职业技能培训班
- 东莞信息:凤岗凤岗镇组织召开社保参保缴费及劳动用工政策宣讲会|||计算机软件培训学校
- 阳江信息:2024年度注册城乡规划师职业资格考试的合格标准是怎样的?|||计算机软件培训学校
- 阳江信息:职业技能提升补贴对象有哪些?|||大学生计算机培训学校
- 清远信息:清远市首家社保服务合作网点在清城区举办启动仪式|||计算机职业技能培训班
- 汕头信息:招聘658名中高端人才!2024年汕头市引进中高端人才专场招聘会举行|||北大青鸟计算机培训中心
- 东莞信息:广东省社保智能经办现场会在东莞召开|||大学生计算机培训学校
- 东莞信息:东坑镇举办2024年重点群体系列招聘活动|||计算机职业技能培训班
- 东莞信息:万江万江街道成功举办第四届粤菜师傅烹饪技能竞赛|||广州计算机编程培训