Web前端中的JavaScript開發(fā)小技巧是怎樣的,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計,中站網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:中站等地區(qū)。中站做網(wǎng)站價格咨詢:18982081108
對于Web開發(fā)或跨平臺開發(fā),JavaScript越來越流行。以前,它僅被認(rèn)為是一種前端腳本語言,但現(xiàn)在它也越來越流行為后端腳本語言。甚至Facebook的React Native也基于JavaScript。因此,了解JavaScript中的一些技巧無疑將是有益的,這些技巧不僅不會阻止我們編寫額外的代碼行,而且還將使我們的代碼清晰高效。下面來和小編一起看一看吧!
1、數(shù)組索引考慮一個數(shù)組[10、9、8、7、6],如果我們想將此數(shù)組的值分配給任何變量,則我們的定位方法將是const a = array [0]。如果我們想分配多個變量,那么繼續(xù)這樣做將很繁瑣。代碼1: 舊代碼做法
var array1 = [10, 9, 8, 7, 6];
var x = array1[0];
var y = array1[1];
var z = array1[2];
document.write("x = " + x + "
");
document.write("y = " + y + "
");
document.write("z = " + z + "
");
輸出:
x = 10
y = 9
z = 8
代碼2:更聰明的方式
var array2 = [10, 9, 8, 7, 6];
var [x, y, z, ...rest] = array2;
document.write("x = " + x + "
");
document.write("y = " + y + "
");
document.write("z = " + z + "
");
document.write("rest = " + rest + "
");
輸出:
x = 10
y = 9
z = 8
rest = 7, 6
因此,像這樣分配多個變量可以節(jié)省時間和代碼。但是,應(yīng)注意,其余部分是剩余部分的集合數(shù)組,而不是每個項目都單獨使用。
2、定義函數(shù)想法是將一些常見或重復(fù)的任務(wù)放在一起并創(chuàng)建一個函數(shù),這樣我們就可以調(diào)用該函數(shù),而不必為不同的輸入一次又一次地編寫相同的代碼。每個人都必須在JavaScript中使用過類似的功能。代碼1:以常規(guī)形式定義功能。
Usual function in JavaScript
function myFunction(p1, p2) {
return p1 * p2;
}
document.getElementById("demo").innerHTML
= myFunction(4, 3);
輸出:
Usual function in JavaScript
12
代碼2:還有另一種方法將函數(shù)視為變量,而不是一個非常有用的技巧,但仍然是新事物。將函數(shù)保持在變量中,它利用像這樣的箭頭函數(shù)。
Function treated as
variable in JavaScript:
var myFunction = (p1, p2) => {
return p1 * p2;
}
document.getElementById("demo")
.innerHTML = myFunction(4, 3);
輸出:
Function treated as variable in JavaScript
12
3、在一行中定義功能
現(xiàn)在,這個技巧真的很酷。如果你了解Python,則可能知道lambda函數(shù),該函數(shù)的行為與任意函數(shù)相同,并且用一行編寫。好吧,我們不在JavaScript中使用lambda函數(shù),但是我們?nèi)匀豢梢跃帉憜涡泻瘮?shù)。
假設(shè)我們要計算兩個數(shù)字a和b的乘積,我們可以在一行腳本中完成。我們不必專門編寫return語句,因為這種定義方式已經(jīng)意味著它將自行返回輸出。
Function treated as
variable in JavaScript
const productNum = (a, b) => a * b
document.getElementById("demo")
.innerHTML = myFunction(4, 3);
輸出:
Function treated as variable in JavaScript
12
4、布爾值
雖然每種編程語言都只有兩個布爾值True和False。JavaScript通過引入使用戶能夠創(chuàng)建bool的功能使它更進(jìn)一步。
與True和False不同,它們通常分別稱為“ Truthy”和“ Falsy”。為避免混淆,除0,F(xiàn)alse,NaN,null,“”之外的所有值均默認(rèn)為Truthy。布爾的這種廣泛使用有助于我們有效地檢查狀況。
const a = !1;
const b = !!!0;
console.log(a);
console.log(b);
輸出:
False
True
5、過濾布爾值
有時我們可能希望過濾掉所有布爾值,例如從數(shù)組中說“ Falsy” 布爾值(0,F(xiàn)alse,NaN,null,“”),這可以通過結(jié)合使用map和filter函數(shù)來完成。在這里,它使用Boolean關(guān)鍵字過濾掉Falsy值。
arrayToFilter
.map(item => {
// Item values
})
.filter(Boolean);
Input: [1, 2, 3, 0, "Hi", False, True
]Output: [1, 2, 3, "Hi", True]
6、創(chuàng)建完全空的對象
如果要求在JavaScript中創(chuàng)建一個空的對象,我們的第一個轉(zhuǎn)到方法將在花括號中使用并將其分配給變量。但這不是空白對象,因為它仍然具有JavaScript的對象屬性,例如__proto__和其他方法。寧波男科醫(yī)院http://www.jzspfk.com/
可以通過一種方法來創(chuàng)建沒有任何對象屬性的對象。為此,我們使用字典并將其__proto__定義為空值。
/* Using .create() method to create
a completely empty object */
let dict = Object.create(null);
// dict.__proto__ === "undefined"
除非用戶另行定義,否則此對象將沒有默認(rèn)的__proto__或其他屬性。7、截斷數(shù)組
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)
輸出:如所見,我們必須知道要以這種方式截斷的數(shù)組的長度,否則將導(dǎo)致錯誤。此處的運行時間為O(k),其中k是將在數(shù)組中保留的元素數(shù)。
[10、5、7、8、3、4]
8、合并對象散布運算符(…)的引入使用戶可以輕松地合并到一個或多個對象,而先前通過創(chuàng)建一個單獨的函數(shù)來實現(xiàn)此操作可以實現(xiàn)合并。
代碼1:
·
function mergeObjects(obj1, obj2) {
for (var key in obj2) {
if (obj2.hasOwnProperty(key)) obj1[key] = obj2[key];
}
return obj1; }
代碼2:通過使用擴展運算符,可以輕松實現(xiàn)上述任務(wù),并且代碼也很清楚。
const obj1 = {};
// Items inside the object
const obj2 = {};
// Items inside the object
const obj3 = {...obj1, ...obj2};
9、條件檢查檢查和遍歷條件是每種編程語言的重要組成部分。在JavaScript中,我們這樣做是:
代碼1:
if (codition) { doSomething(); }
代碼2:但是,按位運算符的使用使檢查條件更加容易,并且使代碼僅一行:
condition && doSomething();
10、使用正則表達(dá)式替換所有字符經(jīng)常出現(xiàn)一種情況,每次出現(xiàn)一個字符或一個子字符串,但不幸的是.replace()方法僅替換一個出現(xiàn)的實例。我們可以通過將regex與.replace()方法配合使用來解決此問題。
var string = "GeeksforGeeks"; // Some string console.log(string.replace(/eek/, "ool"));
輸出:
“ GoolsforGools”
關(guān)于Web前端中的JavaScript開發(fā)小技巧是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。