強大且廣受歡迎的編程語言 JavaScript 具有龐大的內置函數庫,可用於執行各種任務。
本文涵蓋了每個開發人員都應該知道的 15 個 JavaScript 特性。無論您是新手還是經驗豐富的開發人員,這些功能都會派上用場。那麼,讓我們來討論一下這 15 個重要的 JavaScript 特性。
1.重複一個字符串
要在 JavaScript中多次重複一個字符串,您可以使用普通方法或速記方法。
速寫:
您可以使用循環多次重複一個字符串。
以下是如何使用for循環執行此操作的示例:
function repeatString ( string , num ) {
let result = '' ;
for ( let i = 0 ; i < num; i++) {
結果 +=字符串;
}
返回結果;
}
console.log ( repeatString ( '你好' , 5 ));
// 輸出:"HelloHelloHelloHelloHello"
速記:
在速記方法中,我們使用該repeat()方法多次重複一個字符串。
repeat()僅支持現代瀏覽器,因此您必須使用普通方法來支持舊瀏覽器。
例子:
console.log('你好'。重複(5));
// 輸出:"HelloHelloHelloHelloHello"
2.數組的組合
在 JavaScript 中,您可以使用普通方法和快捷方法來合併兩個或多個數組。
速寫:
以下是如何使用for循環執行此操作的示例:
讓array1 = [ 10 , 20 , 30 ];
讓array2 = [ 40 , 50 , 60 ];
讓mergedArray = [];
for ( let i = 0 ; i < array1.length ; i++) {
mergedArray. 推(array1[i]);
}
for ( let i = 0 ; i < array2.length ; i++) {
mergedArray. 推(array2[i]);
}
控制檯。日誌(合併數組);
// 輸出:[10, 20, 30, 40, 50, 60]
速記:
對於速記,您可以使用concat()、...和reduce()方法。concat()and方法通過...將第二個數組的元素附加到第一個數組的末尾來組合兩個或多個數組的元素。
以下是如何使用contact(),...方法的示例:
// concat()
讓array1 = [ 10 , 20 , 30 ];
讓array2 = [ 40 , 50 , 60 ];
讓mergedArray = array1。連接(數組 2);
控制檯。日誌(合併數組); // 輸出:[10, 20, 30, 40, 50, 60]
// ...
let array1 = [ 10 , 20 , 30 ];
讓array2 = [ 40 , 50 , 60 ];
讓mergedArray = [...array1, ...array2];
控制檯。日誌(合併數組); // 輸出:[10, 20, 30, 40, 50, 60]
如果您想以不同的方式組合數組,可以使用reduce()方法。
例子:
// reduce()
let array1 = [ 10 , 20 , 30 ];
讓array2 = [ 40 , 50 , 60 ];
讓mergedArray = array1。reduce ( ( acc, val ) => acc.concat (val), array2);
控制檯。日誌(合併數組); // 輸出:[40, 50, 60, 10, 20, 30]
3.函數接受的參數
您可以通過 3 種不同的方式找到函數接受的參數數量。
方法一:
根據函數定義中命名參數的數量,函數的length屬性返回函數期望接收的參數數量。
function myFunction ( a, b, c ) {
// 函數體
}
console . 日誌(myFunction.length ); // 輸出:3
方法二:
傳遞給函數的參數存儲在一個名爲 的對象中argument,它看起來像一個數組。使用length參數對象的屬性,您可以找出有多少參數傳遞給函數。
由於對象arguments不是真正的數組,因此並非所有數組方法都可以訪問。如果您希望在對象上使用數組方法,請使用該Array.from()函數將arguments對象轉換爲實際數組。
函數 myFunction(a, b, c) {myFunction (a, b, c) {
console .log (arguments.length); // 輸出:3
}
myFunction ( 1 , 2 , 3 );
您不能使用該arguments對象來計算函數期望從函數外部獲得多少參數,因爲它只能在函數內部訪問。length然後需要使用該屬性,就像在方法 1 中一樣。
4. JavaScript 中的循環
JavaScript 提供了幾種類型的循環來重複重複代碼塊。
一些常用的循環示例是:
for循環
自增或自減表達式、循環條件和 for 循環的變量是它的三個主要部分。只要條件爲真,循環就會一直運行。
從 1 計數到 5 的 for 循環示例:
for (讓i = 1 ; i <= 5 ; i++) {
console.log(一);
}
輸出:
1
2
3
4
5
for-in 循環
您可以使用循環遍歷對象的屬性for-in。
在此示例中,我們使用循環遍歷對象的屬性for-in。
例子:
讓對象 = {a: 1, b: 2, c: 3}; 對象= {a: 1 , b: 2 , c: 3 };
for (let property in object ) {
console.log( property + ": " + object [ property ]);
}
輸出:
一個:1
乙:2
丙:3
for循環
如果可迭代對象是數組或字符串,您可以使用for-of循環來迭代這些值。
for-of使用循環迭代元素數組:
讓數組 = [ 1 , 2 , 3 ];
for ( let數組元素) {
console . 日誌(元素);
}
輸出:
1
2
3
5. 字符串轉數組
您可以使用該split方法在 JavaScript 中將字符串轉換爲數組。此方法使用分隔符字符串或正則表達式將字符串拆分爲子字符串。
以下示例顯示如何使用 方法將字符串轉換爲數組split:
let string = "apple,banana,orange"; string = "蘋果、香蕉、橘子" ;
let array = string .split( "," );
安慰。日誌(數組);// 打印 [ "apple" , "banana" , "orange" ]
使用速記方法,您可以獲得相同的結果:
let string = "apple,banana,orange"; string = "蘋果、香蕉、橘子" ;
let array = [... string .split( "," )];
安慰。日誌(數組);// 打印 [ "apple" , "banana" , "orange" ]
您可以使用for loop. 使用此方法,您可以通過將每個字符推入其自己的數組來將字符串轉換爲數組。
一個例子是:
let string = "apple,banana,orange"; string = "蘋果、香蕉、橘子" ;
讓數組 = [];
for (let i = 0 ; i < string .length; i++) {
array.push( string [i]);
}
控制檯。日誌(數組);// 打印 [ "a" , "p" , "p" , "l" , "e" , "," , "b" , "a" , "n" , "a" , "n" , "a " , ", ", "n" , "g" , "e" ]
在此方法中,不是將字符串拆分爲子字符串,而是字符串的每個字符都是數組中的一個單獨元素。split 方法允許您根據分隔符分隔字符串,如前兩個示例所示。
6. 數組中的最大值和最小值
您可以使用下面的 JavaScript 示例查找數組中的最大數和最小數。
速寫:
// 找出數組中的最大數
const array = [ 3 , 7 , 1 , 9 , 2 , 5 ];
讓 maxNumber = array [ 0 ];
for (let i = 1 ; i < array .length; i++) {
if ( array [i] > maxNumber) {
maxNumber = array [i]; }
}
}
控制檯。日誌(最大數量); // 輸出:9
// 找到數組中的最小數
const array = [ 3 , 7 , 1 , 9 , 2 , 5 ];
讓 minNumber = array [ 0 ];
for (let i = 1 ; i < array .length; i++) {
if ( array [i] < minNumber) {
minNumber = array [i]; }
}
}
控制檯。日誌(最小數量); // 輸出:1
使用Math.max()and Math.min(),您可以輕鬆計算最大值或最小值:
// 找出數組中的最大數
const array = [ 3 , 7 , 1 , 9 , 2 , 5 ];
常數maxNumber =數學。最大值(...數組);
控制檯。日誌(最大數量); // 輸出:9
// 找到數組中的最小數
const array = [ 3 , 7 , 1 , 9 , 2 , 5 ];
const minNumber =數學。分鐘(...數組);
控制檯。日誌(最小數量); // 輸出:1
7.將字符串轉換爲數字
要在 JavaScript 中將字符串轉換爲數字,有幾種方法。
使用parseInt()或parseFloat()功能:
// 將字符串轉換爲整數
const num1 = "42" ;
const num2 = parseInt (num1); // num2 現在是值爲 42 的數字類型
// 將字符串轉換爲浮點數
const num3 = "3.14" ;
const num4 = parseFloat (num3); // num4 現在是數字類型,值爲 3.14
使用一元加運算符(+):
// 將字符串轉換爲數字
const num1 = "42" ;
常量num2 = +num1; // num2 現在是值爲 42 的數字類型
// 將字符串轉換爲負數
const num3 = "-42" ;
常量num4 = +num3; // num4 現在是數字類型,值爲 -42
8. 爲多個變量賦值
JavaScript 提供了普通函數和速記函數來爲多個變量賦值:
使用單獨的賦值語句方法:
讓x;
讓你;
讓z;
x = 1;
y = 2;
z = 3;
解構賦值簡寫法:
讓x, y, z;
[ x, y, z ] = [ 1 , 2 , 3 ];
解構賦值也可用於從對象分配變量:
const obj = { a : 1 , b : 2 , c : 3 };
設a、b、c;
({a, b, c} = 對象);
9.指數冪
在 JavaScript 中有幾種方法可以計算一個數的指數冪。這裏有些例子:
使用for循環:
function power ( base, exponent ) {
讓結果 = 1 ;
for ( let i = 0 ; i < exponent; i++) {
結果 *= base;
}
返回結果;
}
控制檯。日誌(功率( 2 , 3 )); // 輸出:8
使用Math.pow()功能:
函數 冪(基數,指數){
返回 數學。pow(基數,指數);
}
控制檯。日誌(功率( 2 , 3 )); // 輸出:8
此外,您還可以使用求冪運算符 ( **) 求出數字的指數冪:
常量 基礎= 2 ;
常量指數 = 3 ;
常量結果 =基數** 指數; // 結果現在是 8
10.雙位非運算符(~~)
在 ( ~~) 運算符的幫助下,您可以將數字四捨五入爲最接近的整數。
例子:
const num = 3.14 ;
const roundedNum = ~~num; // roundedNum 現在是 3
您可以使用 ( ~~) 運算符代替Math.floor().
const num = 3.14 ;
const roundedNum = 數學。樓層(數量); // roundedNum 現在是 3
您還可以使用 ( ~~) 將非整數值轉換爲整數。
例如:
const num = "3.14" ;
const intNum = ~~num; // intNum 現在是 3
這類似於使用parseInt()函數:
const num = "3.14" ;
const intNum = parseInt (num); // intNum 現在是 3
11.函數參數的默認值
在 JavaScript 中,您可以通過不同的方式爲函數參數分配默認值。
速寫:
函數 問候(名稱){
名稱=名稱|| '匿名' ;
控制檯。日誌(`你好,${name}!`);
}
在上面的示例中,name參數的默認值爲'Anonymous'。name如果調用函數時沒有爲參數傳遞值greet,它將使用默認值。
速記:
功能 問候(名稱= '匿名'){
控制檯。日誌(`你好,${name}!`);
}
在此示例中,參數的默認值是使用語法name在函數定義中直接指定的。如果調用函數時沒有爲參數=傳遞值,它將使用默認值。name``greet
12. 三元運算符
它也被稱爲條件運算符或三元條件運算符。
JavaScript 中三元運算符的語法是:
健康)狀況 ?value_if_true : value_if_false;
如果別的
您可以使用 if-else 語句獲得與三元運算符相同的結果。
例子:
讓x = 10 ;
讓y = 20 ;
如果(x > y) {
最大值 = x;
} else {
最大值 = y;
}
控制檯。日誌(最大值); // 輸出 20
在下面的示例中,我們將使用 JavaScript 三元運算符:
讓x = 10 ;
讓y = 20 ;
讓maxValue = (x > y) ? x:y;
控制檯。日誌(最大值); // 輸出 20
在此示例中,條件x > y被評估爲false,因此 的值y被分配給maxValue。如果條件爲true,x則將分配給的值maxValue。
三元運算符有助於在單行代碼中表達條件邏輯,儘管它比 if-else 形式更難閱讀和理解。
當條件邏輯變得更加複雜時,使用三元運算符是個好主意。
13.交換兩個變量
在 JavaScript 中,要交換兩個變量的值,可以使用不同的方法。
這裏有些例子:
速寫:
讓x = 1;
讓y = 2;
讓溫度= x;
x = y;
y = 溫度;
在上面的示例中,我們創建了一個臨時變量(temp)來存儲 x 的值,然後將 x 的值賦給 y 的值,將 y 的值賦給 temp。
讓x = 1 ;
讓y = 2 ;
[ x, y ] = [y, x];
在此示例中,使用解構賦值方法交換 x 和 y 的值。您可以使用解構賦值將變量分配給數組或對象的元素。無需臨時變量,它可以成爲交換值的便捷方式。
如果使用任何一種方法,x 將爲 2,y 將爲 1。
14.檢查多個條件
有幾種不同的方法可以在 JavaScript 中檢查多個條件。
這裏有幾個選項:
1. 使用**&&**運營商:
此運算符允許您檢查多個條件是否爲真。
例如:
if (x > 0 && y < 10) {0 && y < 10 ) {
// 執行一些代碼
}
如果兩個條件(x > 0 和 y < 10)都爲真,這將只執行 if 語句中的代碼。
2. 使用**||**運營商:
此運算符允許您檢查多個條件中是否至少有一個爲真。
例如:
if (x === 1 || x === 2 || x === 3) {1 || x === 2 || x === 3 ) {
// 執行一些代碼
}
如果 x 等於 1、2 或 3,這將執行 if 語句中的代碼。
3.使用switch語句:
這允許您檢查多個條件並根據給定表達式的值執行不同的代碼塊。例如:
switch (x) {
case 1 :
// 執行一些代碼
break ;
case 2 :
// 執行一些代碼
break ;
case 3 :
// 執行一些代碼
break ;
default :
// 執行一些代碼
}
這將執行 case 塊內匹配 x 值的代碼。如果所有情況都不匹配,則將執行 default 塊內的代碼。
請務必注意,&&and||運算符具有特定的優先順序,因此您可能需要使用括號以您想要的方式對條件進行分組。
4.數組.prototype.include()
您可以使用 Array.prototype.include() 方法檢查 JavaScript 中的多個條件。
例子:
常數值 = 2 ;
if ([ 1 , 'one ', 2 , 'two '] .includes (value)) {
控制檯。log ( '該值爲1、"one"、2或"two" ');
} else {
控制檯。log ( '該值不是1、"one"、2或"two" ');
}
// 輸出:值爲 1、“one”、2、
該Array.prototype.include() the函數檢查值是否存在。如果存在該值,則 if 塊內的代碼將在上面的示例中運行。如果找不到該值,將執行 else 塊中的代碼。
15. 刪除屬性
delete 運算符允許您從對象中刪除多個屬性。
以下面爲例:
讓obj = {
prop1 : 'value1' ,
prop2 : 'value2' ,
prop3 : 'value3' ,
prop4 : 'value4'
};
刪除對象。支柱1;
刪除對象。支柱 3 ;
控制檯。日誌(對象); // 輸出 { prop2: 'value2', prop4: 'value4' }
或者,您可以使用該Object.assign()方法創建一個刪除了所需屬性的新對象。
例子:
讓obj = {
prop1 : 'value1' ,
prop2 : 'value2' ,
prop3 : 'value3' ,
prop4 : 'value4'
};
讓newObj =對象。分配({},對象);
刪除新對象。支柱1;
刪除新對象。支柱 3 ;
控制檯。日誌(新對象); // 輸出 { prop2: 'value2', prop4: 'value4' }
在現代 JavaScript(ES6 及更高版本)中,您可以使用Object.entries()和Object.fromEntries()方法從對象中刪除多個屬性。
例子:
讓obj = {
prop1 : 'value1' ,
prop2 : 'value2' ,
prop3 : 'value3' ,
prop4 : 'value4'
};
讓newObj =對象。fromEntries (
Object . entries (obj). filter ( ( [key] ) => key !== 'prop1' && key !== 'prop3' )
);
控制檯。日誌(新對象); // 輸出 { prop2: 'value2', prop4: 'value4' }
如果對你有幫助,記得點贊支持哦,目前我們的系統班正在講解JavaScript正則表達式,這個課程講完系統班的JavaScript階段就算完結了,正式開始進入ES6階段了,這幾個月我們在JavaScript課程中融入了大量的面試題、算法以及底層原理知識,目的就是爲了幫助大家夯實基礎,查漏補缺,有 紮實的JavaScript基礎,對於學到後面階段更加有幫助!這也是2023年通向職業道路,面試求職必須要懂得的技術能力!感興趣可以聯繫我參與!
爲了更好的讓大家認識到JavaScript的精髓,我們在三十天計劃羣裏推出了幾節非常重要的JavaScript課程體系,而且每個系列知識點都保障是完整的。感興趣可以通過下方的練習方式參與課程哦 。如果你正在學習JavaScript,我們已經在三十天計劃中完成了4個綜合項目實戰,那不妨可以聽下這個課程體系,三十天計劃羣裏還提供了算法、數組等知識體系!
前端工程師成長方法
更多完整 JavaScript 課程體系在我們的系統班裏有完整的呈現,包含了 JavaScript 基礎篇、重點、算法、原理、面試題、實戰案例講解!同時也爲你提供了前端高級工程師成長體系!(詳細看下圖內容)
如果需要深度學習的同學可以聯繫助理老師瞭解詳細的課程以及課程的報名方式!(不定期會推出活動,有大額優惠券推出,活動詳情聯繫助理老師瞭解即可!)如果你纔開始學習前端,那麼可以先學習我們的三十天計劃(零基礎的同學報名系統班同學可以和老師溝通制定學習計劃,可以得到更快的成長!)
爲幫助到一部分同學不走彎路,真正達到一線互聯網大廠前端項目研發要求,首次實力寵粉,打造了《30天挑戰學習計劃》,內容如下:
HTML/HTML5,CSS/CSS3,JavaScript,真實企業項目開發,雲服務器部署上線,從入門到精通
- PC端項目開發(1個)
- 移動WebApp開發(2個)
- 多端響應式開發(1個)
共4大完整的項目開發 !一行一行代碼帶領實踐開發,實際企業開發怎麼做我們就是怎麼做。從學習一開始就進入工作狀態,省得浪費時間。
從學習一開始就同步使用 Git 進行項目代碼的版本的管理,Markdown 記錄學習筆記,包括真實大廠項目的開發標準和設計規範,命名規範,項目代碼規範,SEO優化規範
從藍湖UI設計稿 到 PC端,移動端,多端響應式開發項目開發
- 真機調試,雲服務部署上線;
- Linux環境下 的 Nginx 部署,Nginx 性能優化;
- Gzip 壓縮,HTTPS 加密協議,域名服務器備案,解析;
- 企業項目域名跳轉的終極解決方案,多網站、多系統部署;
- 使用 使用 Git 在線項目部署;
這些內容在《30天挑戰學習計劃》中每一個細節都有講到,包含視頻+圖文教程+項目資料素材等。只爲實力寵粉,真正一次掌握企業項目開發必備技能,不走彎路 !
過程中【不涉及】任何費用和利益,非誠勿擾 。
如果你沒有添加助理老師微信,可以添加下方微信,說明要參加30天挑戰學習計劃,來自今日頭條!老師會邀請你進入學習,並給你發放相關資料。