符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ⇠ | \u21E0 | E0 | ? | ⇢ | \u21E2 | E2 |
? | ⇡ | \u21E1 | E1 | ? | ⇣ | \u21E3 | E3 |
? | ↞ | \u219E | 9E | ? | ↠ | \u21A0 | A0 |
? | ↟ | \u219F | 9F | ? | ↡ | \u21A1 | A1 |
← | ← | \u2190 | 90 | → | → | \u2192 | 92 |
↑ | ↑ | \u2191 | 91 | ↓ | ↓ | \u2193 | 93 |
? | ↔ | \u2194 | 94 | ? | ↕ | \u2195 | 95 |
? | ⇄ | \u21C4 | C4 | ? | ⇅ | \u21C5 | C5 |
? | ↢ | \u21A2 | A2 | ? | ↣ | \u21A3 | A3 |
? | ⇞ | \u21DE | DE | ? | ⇟ | \u21DF | DF |
? | ↫ | \u21AB | AB | ? | ↬ | \u21AC | AC |
? | ⇜ | \u21DC | DC | ? | ⇝ | \u21DD | DD |
? | ↚ | \u219A | 9A | ? | ↛ | \u219B | 9B |
? | ↮ | \u21AE | AE | ? | ↭ | \u21AD | AD |
? | ⇦ | \u21E6 | E6 | ? | ⇨ | \u21E8 | E8 |
? | ⇧ | \u21E7 | E7 | ? | ⇩ | \u21E9 | E9 |
▲ | ▲ | \u25B2 | B2 | ? | ► | \u25BA | BA |
▼ | ▼ | \u25BC | BC | ? | ◄ | \u25C4 | C4 |
? | ➔ | \u2794 | 94 | ? | ➙ | \u2799 | 99 |
? | ➨ | \u27A8 | A8 | ? | ➲ | \u27B2 | B2 |
? | ➜ | \u279C | 9C | ? | ➞ | \u279E | 9E |
? | ➟ | \u279F | 9F | ? | ➠ | \u27A0 | A0 |
? | ➤ | \u27A4 | A4 | ? | ➥ | \u27A5 | A5 |
? | ➦ | \u27A6 | A6 | ? | ➧ | \u27A7 | A7 |
? | ➵ | \u27B5 | B5 | ? | ➸ | \u27B8 | B8 |
? | ➼ | \u27BC | BC | ? | ➽ | \u27BD | BD |
? | ➺ | \u27BA | BA | ? | ➳ | \u27B3 | B3 |
? | ↷ | \u21B7 | B7 | ? | ↶ | \u21B6 | B6 |
? | ↻ | \u21BB | BB | ? | ↺ | \u21BA | BA |
? | ↵ | \u21B5 | B5 | ? | ↯ | \u21AF | AF |
? | ➾ | \u27BE | BE |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ❤ | \u2764 | 64 | ? | ✈ | \u2708 | 08 |
★ | ★ | \u2605 | 05 | ? | ✦ | \u2726 | 26 |
? | ☀ | \u2600 | 00 | ◆ | ◆ | \u25C6 | C6 |
? | ◈ | \u25C8 | C8 | ? | ▣ | \u25A3 | A3 |
? | ☻ | \u263B | 3B | ? | ☺ | \u263A | 3A |
? | ☹ | \u2639 | 39 | ? | ✉ | \u2709 | 09 |
? | ☎ | \u260E | 0E | ? | ☏ | \u260F | 0F |
? | ✆ | \u2706 | 06 | ? | � | \uFFFD | \FFFD |
? | ☁ | \u2601 | 01 | ? | ☂ | \u2602 | 02 |
? | ❄ | \u2744 | 44 | ? | ☃ | \u2603 | 03 |
? | ❈ | \u2748 | 48 | ? | ✿ | \u273F | 3F |
? | ❀ | \u2740 | 40 | ? | ❁ | \u2741 | 41 |
? | ☘ | \u2618 | 18 | ? | ❦ | \u2766 | 66 |
? | ☕ | \u9749 | 49 | ? | ❂ | \u2742 | 42 |
? | ☥ | \u2625 | 25 | ? | ☮ | \u262E | 2E |
? | ☯ | \u262F | 2F | ? | ☪ | \u262A | 2A |
? | ☤ | \u2624 | 24 | ? | ✄ | \u2704 | 04 |
? | ✂ | \u2702 | 02 | ? | ☸ | \u2638 | 38 |
? | ⚓ | \u2693 | 93 | ? | ☣ | \u2623 | 23 |
? | ⚠ | \u26A0 | A0 | ? | ⚡ | \u26A1 | A1 |
? | ☢ | \u2622 | 22 | ? | ♻ | \u267B | 7B |
? | ♿ | \u267F | 7F | ? | ☠ | \u2620 | 20 |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
$ | $ | \u0024 | >\0024<24 | ¢ | ¢ | \u00A2 | >\00A2<> |
£ | £ | \u00A3 | >\00A3<> | ¤ | ¤ | \u00A4 | >\00A4<> |
€ | € | \u20AC | AC | ¥ | ¥ | \u00A5 | >\00A5<> |
? | ₱ | \u20B1 | B1 | ? | ₹ | \u20B9 | B9 |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ½ | \u00BD | >\00BD<> | ? | ¼ | \u00BC | >\00BC<> |
? | ¾ | \u00BE | >\00BE<> | ? | ⅓ | \u2153 | 53 |
? | ⅔ | \u2154 | 54 | ? | ⅛ | \u215B | 5B |
? | ⅜ | \u215C | 5C | ? | ⅝ | \u215D | 5D |
‰ | ‰ | \u2030 | 30 | % | % | \u0025 | >\0025<25 |
< | < | \u003C | >\003C<3C | > | > | \u003E | >\003E<3E |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ♩ | \u2669 | 69 | ? | ♪ | \u266A | 6A |
? | ♫ | \u266B | 6B | ? | ♬ | \u266C | 6C |
? | ♭ | \u266D | 6D | ? | ♯ | \u266F | 6F |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
| \u00A0 | >\00A0<> | ? | ☐ | \u2610 | 10 | |
? | ☑ | \u2611 | 11 | ? | ☒ | \u2612 | 12 |
? | ✓ | \u2713 | 13 | ? | ✔ | \u2714 | 14 |
? | ✕ | \u10005 | 005 | ? | ✖ | \u2716 | 16 |
? | ✗ | \u2717 | 17 | ? | ✘ | \u2718 | 18 |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
★ | ★ | \u2605 | 05 | ? | ✭ | \u272D | 2D |
? | ✮ | \u272E | 2E | ☆ | ☆ | \u2606 | 06 |
? | ✪ | \u272A | 2A | ? | ✡ | \u2721 | 21 |
? | ✯ | \u272F | 2F | ? | ✵ | \u2735 | 35 |
? | ✶ | \u2736 | 36 | ? | ✸ | \u2738 | 38 |
? | ✹ | \u2739 | 39 | ? | ✺ | \u273A | 3A |
? | ✱ | \u2731 | 31 | ? | ✲ | \u2732 | 32 |
? | ✴ | \u2734 | 34 | ? | ✳ | \u2733 | 33 |
? | ✻ | \u273B | 3B | ? | ✽ | \u273D | 3D |
? | ❋ | \u274B | 4B | ? | ❆ | \u2746 | 46 |
? | ❄ | \u2744 | 44 | ? | ❅ | \u2745 | 45 |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ♈ | \u2648 | 48 | ? | ♉ | \u2649 | 49 |
? | ♊ | \u264A | 4A | ? | ♋ | \u264B | 4B |
? | ♌ | \u264C | 4C | ? | ♍ | \u264D | 4D |
? | ♎ | \u264E | 4E | ? | ♏ | \u264F | 4F |
? | ♐ | \u2650 | 50 | ? | ♑ | \u2651 | 51 |
? | ♒ | \u2652 | 52 | ? | ♓ | \u2653 | 53 |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ♚ | \u265A | 5A | ? | ♛ | \u265B | 5B |
? | ♜ | \u265C | 5C | ? | ♝ | \u265D | 5D |
? | ♞ | \u265E | 5E | ? | ♟ | \u265F | 5F |
? | ♔ | \u2654 | 54 | ? | ♕ | \u2655 | 55 |
? | ♖ | \u2656 | 56 | ? | ♗ | \u2657 | 57 |
? | ♘ | \u2658 | 58 | ? | ♙ | \u2659 | 59 |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ♠ | \u2660 | 60 | ? | ♣ | \u2663 | 63 |
? | ♥ | \u2665 | 65 | ? | ♦ | \u2666 | 66 |
? | ♤ | \u2664 | 64 | ? | ♧ | \u2667 | 67 |
? | ♡ | \u2661 | 61 | ? | ♢ | \u2662 | 62 |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
Α | Α | \u0391 | 91 | Β | Β | \u0392 | 92 |
Γ | Γ | \u0393 | 93 | Δ | Δ | \u0394 | 94 |
Ε | Ε | \u0395 | 95 | Ζ | Ζ | \u0396 | 96 |
Η | Η | \u0397 | 97 | Θ | Θ | \u0398 | 98 |
Ι | Ι | \u0399 | 99 | Κ | Κ | \u039A | 9A |
Λ | Λ | \u039B | 9B | Μ | Μ | \u039C | 9C |
Ν | Ν | \u039D | 9D | Ξ | Ξ | \u039E | 9E |
Ο | Ο | \u039F | 9F | Π | Π | \u03A0 | A0 |
Ρ | Ρ | \u03A1 | A1 | Σ | Σ | \u03A3 | A3 |
Τ | Τ | \u03A4 | A4 | Υ | Υ | \u03A5 | A5 |
Φ | Φ | \u03A6 | A6 | Χ | Χ | \u03A7 | A7 |
Ψ | Ψ | \u03A8 | A8 | Ω | Ω | \u03A9 | A9 |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ☨ | \u2628 | 28 | ? | ☩ | \u2629 | 29 |
? | ✝ | \u271D | 1D | ? | ✞ | \u271E | 1E |
? | ✟ | \u271F | 1F | ? | ✠ | \u2720 | 20 |
? | ✚ | \u271A | 1A | ? | † | \u2020 | 20 |
? | ✢ | \u2722 | 22 | ? | ✤ | \u2724 | 24 |
? | ✣ | \u2723 | 23 | ? | ✥ | \u2725 | 25 |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ® | \u00AE | >\00AE<> | ? | © | \u00A9 | >\00A9<> |
? | ℗ | \u2117 | 17 | ? | | \u0099 | >\0099<99 |
? | ℠ | \u2120 | 20 |
符號 | UNICODE | 符號 | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | « | \u00AB | >\00AB<> | ? | » | \u00BB | >\00BB<> |
? | | \u008B | >\008B<8B | ? | | \u009B | >\009B<9B |
“ | “ | \u201C | 1C | ” | ” | \u201D | 1D |
‘ | ‘ | \u2018 | 18 | ’ | ’ | \u2019 | 19 |
? | • | \u2022 | 22 | ? | ◦ | \u25E6 | E6 |
? | ¡ | \u00A1 | >\00A1<> | ? | ¿ | \u00BF | >\00BF<> |
℅ | ℅ | \u2105 | 05 | № | № | \u2116 | 16 |
& | & | \u0026 | >\0026<26 | @ | @ | \u0040 | >\0040<40 |
? | ℞ | \u211E | 1E | ℃ | ℃ | \u2103 | 03 |
℉ | ℉ | \u2109 | 09 | ° | ° | \u00B0 | >\00B0<> |
| | \u007C | >\007C<7C | | | ¦ | \u00A6 | ||
– | – | \u2013 | 13 | — | — | \u2014 | 14 |
… | … | \u2026 | 26 | ? | ¶ | \u00B6 | >\00B6<> |
~ | ∼ | \u223C | 3C | ≠ | ≠ | \u2260 |
三種用法都在里面了
這里是云端源想IT,幫你輕松學IT”
嗨~ 今天的你過得還好嗎?
生命不必每時每刻都要沖刺
低沉時
就當給自己放了一個悠長假期
- 2024.04.24 -
JavaScript關鍵字是一種特殊的標識符,它們在語言中有固定的含義,不能用作變量名或函數(shù)名。這些關鍵字是JavaScript的基礎,理解它們是掌握JavaScript的關鍵。
今天,我們將一起探索JavaScript中的26個關鍵字,了解這些關鍵字各自獨特的含義、特性和使用方法。
Javascript關鍵字(Keyword)是指在Javascript語言中有特定含義,成為Javascript語法中一部分的那些字,是 JavaScript 語言內(nèi)部使用的一組名字(或稱為命令)。
Javascript關鍵字是不能作為變量名和函數(shù)名使用的。使用Javascript關鍵字作為變量名或函數(shù)名,會使Javascript在載入過程中出現(xiàn)編譯錯誤。
Java中的關鍵字可用于表示控制語句的開始或結束,或者用于執(zhí)行特定操作等。按照規(guī)則,關鍵字也是語言保留的,不能用作標識符。
下面我們來詳細介紹一下JavaScript關鍵字的作用和使用方法。
JavaScript是一種廣泛使用的編程語言,它具有豐富的關鍵字,這些關鍵字在JavaScript語言中發(fā)揮著重要的作用,JavaScript一共提供了26個關鍵字:
break, case, catch, continue, debugger, default, delete, do, else, finally, for, function, if, in, instanceof, new, return, switch, this, throw, try, typeof, var, void, while, with
其中,debugger在ECMAScript 5 新增的。
1、break:跳出 循環(huán)
break用于跳出循環(huán)結構。循環(huán)結構是一種重復執(zhí)行某個代碼塊的結構,break關鍵字可以用于循環(huán)結構中的條件語句中,用于跳出循環(huán)。例如:
for (var i = 0; i < 10; i++) {
if (i == 5) {
break; // 當i等于5時跳出循環(huán)
}
console.log(i);
}
2、case:捕捉
它用于在switch語句中定義一個分支。switch語句是一種根據(jù)表達式的值執(zhí)行不同代碼塊的結構,case關鍵字可以用于switch語句中,用于定義不同的分支。例如:
switch (n) {
case 1:
console.log('n等于1');
break;
case 2:
console.log('n等于2');
break;
default:
console.log('n不等于1或2');
break;
}
3、catch:配合try進行錯誤判斷
catch是JavaScript中的一個關鍵字,它用于捕獲異常。異常是一種程序運行時出現(xiàn)的錯誤,catch關鍵字可以用于try-catch語句中,用于捕獲并處理異常。例如:
try {
// 代碼
} catch (e) {
console.log('發(fā)生異常:' + e.message);
}
4、continue:繼續(xù)
continue用于跳過當前循環(huán)中的某個迭代。循環(huán)結構是一種重復執(zhí)行某個代碼塊的結構,continue關鍵字可以用于循環(huán)結構中的條件語句中,用于跳過當前迭代。例如:
for (var i = 0; i < 10; i++) {
if (i == 5) {
continue; // 當i等于5時跳過當前迭代
}
console.log(i);
}
5、debugger:設置斷點
它用于在代碼中設置斷點,方便調(diào)試代碼。調(diào)試是一種在代碼運行時發(fā)現(xiàn)和解決問題的過程,debugger關鍵字可以用于代碼中,用于設置斷點。例如:
function foo() {
var x = 10;
debugger; // 在這里設置斷點
console.log(x);
}
6、default:配合switch,當條件不存在時使用該項
default用于在switch語句中定義一個默認分支。switch語句是一種根據(jù)表達式的值執(zhí)行不同代碼塊的結構,default關鍵字可以用于switch語句中,用于定義默認分支。例如:
switch (n) {
case 1:
console.log('n等于1');
break;
case 2:
console.log('n等于2');
break;
default:
console.log('n不等于1或2');
break;
}
7、delete:刪除了一個屬性
delete用于刪除對象的屬性或數(shù)組中的元素。對象是JavaScript中的一種數(shù)據(jù)類型,它由一組屬性組成,delete關鍵字可以用于對象的屬性中,用于刪除屬性。例如:
var obj = {a: 1, b: 2, c: 3};
delete obj.b; // 刪除對象obj的屬性b
console.log(obj); // 輸出{a: 1, c: 3}
8、do:聲明一個循環(huán)
do用于定義一個do-while循環(huán)結構。循環(huán)結構是一種重復執(zhí)行某個代碼塊的結構,do關鍵字可以用于do-while循環(huán)中,用于定義循環(huán)體。例如:
var i = 0;
do {
console.log(i);
i++;
} while (i < 10);
9、else:否則//配合if條件判斷,用于條件選擇的跳轉
else用于在if語句中定義一個分支。if語句是一種根據(jù)條件執(zhí)行不同代碼塊的結構,else關鍵字可以用于if語句中,用于定義另一個分支。例如:
if (n == 1) {
console.log('n等于1');
} else {
console.log('n不等于1');
}
10、finally:預防出現(xiàn)異常時用的
finally用于定義一個try-catch-finally語句中的finally塊。try-catch-finally語句是一種用于處理異常的結構,finally關鍵字可以用于finally塊中,用于定義一些必須執(zhí)行的代碼。例如:
try {
// 可能會拋出異常的代碼
} catch (e) {
// 處理異常的代碼
} finally {
// 必須執(zhí)行的代碼
}
11、for:循環(huán)語句
for用于定義一個for循環(huán)結構。循環(huán)結構是一種重復執(zhí)行某個代碼塊的結構,for關鍵字可以用于for循環(huán)中,用于定義循環(huán)條件。例如:
for (var i = 0; i < 10; i++) {
console.log(i);
}
12、function:定義函數(shù)的關鍵字
function用于定義一個函數(shù)。函數(shù)是一種封裝了一段代碼的結構,它可以接受參數(shù)并返回結果。function關鍵字可以用于函數(shù)定義中,用于定義函數(shù)名和參數(shù)列表。例如:
function add(a, b) {
return a + b;
}
console.log(add(1, 2)); // 輸出3
13、if:定義一個if語句
if用于定義一個if語句。if語句是一種根據(jù)條件執(zhí)行不同代碼塊的結構,if關鍵字可以用于if語句中,用于定義條件。例如:
if (n == 1) {
console.log('n等于1');
} else {
console.log('n不等于1');
}
14、in:判斷某個屬性屬于某個對象
in用于判斷一個對象是否包含某個屬性。對象是JavaScript中的一種數(shù)據(jù)類型,它由一組屬性組成,in關鍵字可以用于對象中,用于判斷對象是否包含某個屬性。例如:
var obj = {a: 1, b: 2, c: 3};
if ('a' in obj) {
console.log('obj包含屬性a');
} else {
console.log('obj不包含屬性a');
}
15、instanceof:某個對象是不是另一個對象的實例
instanceof用于判斷一個對象是否是某個類的實例。類是JavaScript中的一種數(shù)據(jù)類型,它由一組屬性和方法組成,instanceof關鍵字可以用于類中,用于判斷對象是否是該類的實例。例如:
function Person(name) {
this.name = name;
}
var p = new Person('張三');
if (p instanceof Person) {
console.log('p是Person類的實例');
} else {
console.log('p不是Person類的實例');
}
16、new:創(chuàng)建一個新對象
new用于創(chuàng)建一個對象。對象是JavaScript中的一種數(shù)據(jù)類型,它由一組屬性和方法組成,new關鍵字可以用于類中,用于創(chuàng)建該類的實例。例如:
function Person(name) {
this.name = name;
}
var p = new Person('張三');
console.log(p.name); // 輸出張三
17、return:返回
return用于從函數(shù)中返回一個值。函數(shù)是JavaScript中的一種數(shù)據(jù)類型,它由一段代碼塊組成,return關鍵字可以用于函數(shù)中,用于返回函數(shù)的執(zhí)行結果。例如:
function add(a, b) {
return a + b;
}
console.log(add(1, 2)); // 輸出3
18、switch:彌補if的多重判斷語句
switch用于根據(jù)不同的條件執(zhí)行不同的代碼塊。switch語句是一種根據(jù)條件執(zhí)行不同代碼塊的結構,switch關鍵字可以用于switch語句中,用于定義條件。例如:
var day = 3;
switch (day) {
case 1:
console.log('星期一');
break;
case 2:
console.log('星期二');
break;
case 3:
console.log('星期三');
break;
default:
console.log('不是星期一、二、三');
}
19、this:總是指向調(diào)用該方法的對象
this用于引用當前對象。對象是JavaScript中的一種數(shù)據(jù)類型,它由一組屬性和方法組成,this關鍵字可以用于對象中,用于引用當前對象的屬性和方法。例如:
var obj = {
name: '張三',
sayName: function() {
console.log(this.name);
}
};
obj.sayName(); // 輸出張三
20、throw:拋出異常
throw是JavaScript中的一個關鍵字,它用于拋出一個異常。異常是JavaScript中的一種錯誤類型,它可以用于在程序運行過程中發(fā)現(xiàn)錯誤并停止程序的執(zhí)行。throw關鍵字可以用于函數(shù)中,用于拋出異常。例如:
function divide(a, b) {
if (b === 0) {
throw new Error('除數(shù)不能為0');
}
return a / b;
}
console.log(divide(10, 0)); // 拋出異常
21、try:接受異常并做出判斷
try是JavaScript中的一個關鍵字,它用于捕獲異常。異常是JavaScript中的一種錯誤類型,它可以用于在程序運行過程中發(fā)現(xiàn)錯誤并停止程序的執(zhí)行。try語句是一種捕獲異常的結構,try關鍵字可以用于try語句中,用于捕獲異常。例如:
function divide(a, b) {
if (b === 0) {
throw new Error('除數(shù)不能為0');
}
return a / b;
}
try {
console.log(divide(10, 0)); // 拋出異常
} catch (e) {
console.log(e.message); // 輸出除數(shù)不能為0
}
22、typeof:檢測變量的數(shù)據(jù)類型
typeof是JavaScript中的一個關鍵字,它用于獲取變量的類型。變量是JavaScript中的一種數(shù)據(jù)類型,它可以是數(shù)字、字符串、布爾值等。typeof關鍵字可以用于變量中,用于獲取變量的類型。例如:
var a = 10;
console.log(typeof a); // 輸出number
23、var:聲明變量
var是JavaScript中的一個關鍵字,它用于聲明變量。變量是JavaScript中的一種數(shù)據(jù)類型,它可以用于存儲數(shù)據(jù)。var關鍵字可以用于變量中,用于聲明變量。例如:
var a = 10;
console.log(a); // 輸出10
24、void:空/ 聲明沒有返回值
void是JavaScript中的一個關鍵字,它用于執(zhí)行一個表達式并返回undefined。undefined是JavaScript中的一種特殊值,它表示一個未定義的值。void關鍵字可以用于表達式中,用于執(zhí)行表達式并返回undefined。例如:
function doSomething() {
console.log('執(zhí)行了doSomething函數(shù)');
}
var result = void doSomething();
console.log(result); // 輸出undefined
25、while
while是JavaScript中的一個關鍵字,它用于創(chuàng)建一個循環(huán)結構。循環(huán)是JavaScript中的一種控制結構,它可以用于重復執(zhí)行一段代碼。while關鍵字可以用于循環(huán)中,用于創(chuàng)建一個基于條件的循環(huán)。例如:
var i = 0;
while (i < 10) {
console.log(i);
i++;
}
26、with
with是JavaScript中的一個關鍵字,它用于創(chuàng)建一個作用域。作用域是JavaScript中的一種機制,它可以用于控制變量的作用范圍。with關鍵字可以用于代碼塊中,用于創(chuàng)建一個作用域。例如:
var obj = {
name: '張三',
age: 20
};
with (obj) {
console.log(name); // 輸出張三
console.log(age); // 輸出20
}
想要快速入門前端開發(fā)嗎?推薦一個前端開發(fā)基礎課程,這個老師講的特別好,零基礎學習無壓力,知識點結合代碼,邊學邊練,可以免費試看試學,還有各種輔助工具和資料,非常適合新手!點這里前往學習哦!云端源想-程序員必看的精品課程
在開發(fā)過程中使用關鍵字我們需要注意以下幾點:
區(qū)分大小寫:JavaScript是區(qū)分大小寫的,因此關鍵字的大小寫必須正確。
不能用作變量名:關鍵字不能被用作變量名,函數(shù)名等等,會出現(xiàn)問題。
不需要硬記關鍵字:關鍵字不用去硬記,我們在編寫代碼時根據(jù)系統(tǒng)的提示去規(guī)避就可以了。
保留字:JavaScript有一些保留字,不能用作變量名、函數(shù)名或屬性名。
不要使用全局變量:盡量避免使用全局變量,以免與其他腳本或庫發(fā)生沖突。可以使用立即執(zhí)行函數(shù)表達式(IIFE)或模塊模式來避免全局變量污染。
使用嚴格模式:在代碼中添加"use strict"指令,以啟用嚴格模式。這將有助于避免一些常見的錯誤,例如未聲明的變量、隱式類型轉換等。
避免使用eval()函數(shù):eval()函數(shù)用于動態(tài)執(zhí)行字符串中的JavaScript代碼,但可能導致性能問題和安全風險。盡量避免使用eval(),尋找其他替代方案。
不要使用with語句:with語句會改變代碼的作用域鏈,可能導致意外的錯誤。盡量避免使用with語句,改用局部變量或對象屬性訪問。
避免使用重復的標識符:確保變量名、函數(shù)名和屬性名在同一作用域內(nèi)是唯一的,以避免命名沖突。
遵循編碼規(guī)范:遵循一致的命名約定、縮進風格和代碼結構,以提高代碼的可讀性和可維護性。
除了關鍵字還有個“保留字”的概念,所謂保留字,實際上就是預留的“關鍵字”。意思是現(xiàn)在雖然還不是關鍵字,但是未來可能會成為關鍵字,同樣不能使用它們當充當變量名、函數(shù)名等標識符。
下面是JavaScript中保留字的含義,大家同樣不用記,了解一下就行了。
以上就是關于JavaScript關鍵字的相關內(nèi)容了,通過了解這26個JavaScript關鍵字的含義、特性和使用方法,你已經(jīng)邁出了成為編程高手的重要一步。
記住,實踐是學習的關鍵,不斷地編寫代碼并應用這些關鍵字,你將逐漸掌握JavaScript的精髓。
如果覺得本文對你有所幫助,別忘了點贊和分享哦!
我們下期再見!
END
文案編輯|云端學長
文案配圖|云端學長
內(nèi)容由:云端源想分享
過去的幾年中,Python已成為機器學習和深度學習的首選編程語言。與機器學習和深度學習相關的大多數(shù)書籍和在線課程要么只用Python,要么再帶上R語言。Python有著豐富的機器學習和深度學習庫、專門優(yōu)化的實現(xiàn),具備可伸縮性和大量功能,因而廣受歡迎。
但Python并不是編寫機器學習應用程序的唯一選擇。社區(qū)中有越來越多的開發(fā)人員正在使用JavaScript來運行機器學習模型。
盡管JavaScript(目前)并不能在機器學習領域替代根基深厚的Python,但掌握JavaScript機器學習技能也是有很多不錯的理由的,
函數(shù)柯里化的是一個為多參函數(shù)實現(xiàn)遞歸降解的方式。其實現(xiàn)的核心是:
要思考如何緩存每一次傳入的參數(shù)
傳入的參數(shù)和目標函數(shù)的入?yún)⒆霰容^
這里通過閉包的方式緩存參數(shù),實現(xiàn)如下:
使用方式如下:
函數(shù)柯里化僅僅只是上面求和的這種運用嗎??
這個問題,有必要去一下。其實利用函數(shù)柯里化這種思想,我們可以更好的實現(xiàn)函數(shù)的封裝。
就比如有監(jiān)聽某一事件那么就會有移除該事件的操作,那么就可以利用柯里化的思想去封裝代碼了。
或者說一個輸入A有唯一并且對應的輸出B,那么從更大的角度去思想這樣的工程項目是更安全,獨立的。也便于去維護。
手寫map方法
map()方法根據(jù)回調(diào)函數(shù)映射一個新數(shù)組
手寫filter方法
filter()方法返回一個數(shù)組,返回的每一項是在回調(diào)函數(shù)中執(zhí)行結果true。
filter和map的區(qū)別:filter是映射出條件為true的item,map是映射每一個item。
手寫reduce方法
reduce()方法循環(huán)迭代,回調(diào)函數(shù)的結果都會作為下一次的形參的第一個參數(shù)。
手寫every方法
every()方法測試一個數(shù)組內(nèi)的所有元素是否都能通過某個指定函數(shù)的測試。它返回一個布爾值。
手寫some方法
some()方法測試數(shù)組中是不是至少有1個元素通過了被提供的函數(shù)測試。它返回的是一個Boolean類型的值。
手寫find方法
find()方法返回數(shù)組中滿足提供的測試函數(shù)的第一個元素的值。否則返回undefined。
拉平數(shù)組
將嵌套的數(shù)組扁平化,在處理業(yè)務數(shù)據(jù)場景中是頻率出現(xiàn)比較高的。那如何實現(xiàn)呢?
利用ES6語法flat(num)方法將數(shù)組拉平。
該方法不傳參數(shù)默認只會拉平一層,如果想拉平多層嵌套的數(shù)組,需要傳入一個整數(shù),表示要拉平的層級。該返回返回一個新的數(shù)組,對原數(shù)組沒有影響。
利用reduce()方法將數(shù)組拉平。
利用reduce進行迭代,核心的思想是遞歸實現(xiàn)。
模擬棧實現(xiàn)數(shù)組拉平
該方法是模擬棧,在性能上相對最優(yōu)解。
實現(xiàn)圖片懶加載其核心的思想就是將img的src屬性先使用一張本地占位符,或者為空。然后真實的圖片路徑再定義一個data-set屬性存起來,待達到一定條件的時將data-img的屬性值賦給src。
如下是通過scroll滾動事件監(jiān)聽來實現(xiàn)的圖片懶加載,當圖片都加載完畢移除事件監(jiān)聽,并且將移除html標簽。
scroll滾動事件容易造成性能問題。那可以通過IntersectionObserver自動觀察img標簽是否進入可視區(qū)域。
實例化IntersectionObserver實例,接受兩個參數(shù):callback是可見性變化時的回調(diào)函數(shù),option是配置對象(該參數(shù)可選)。
當img標簽進入可視區(qū)域時會執(zhí)行實例化時的回調(diào),同時給回調(diào)傳入一個entries參數(shù),保存著實例觀察的所有元素的一些狀態(tài),比如每個元素的邊界信息,當前元素對應的DOM節(jié)點,當前元素進入可視區(qū)域的比率,每當一個元素進入可視區(qū)域,將真正的圖片賦值給當前img標簽,同時解除對其的觀察。
如上是懶加載圖片的實現(xiàn)方式。
值得思考的是,懶加載和惰性函數(shù)有什么不一樣嘛?
我所理解的懶加載顧名思義就是需要了才去加載,懶加載正是惰性的一種,但惰性函數(shù)不僅僅是懶加載,它還可以包含另外一種方向。
惰性函數(shù)的另一種方向是在重寫函數(shù),每一次調(diào)用函數(shù)的時候無需在做一些條件的判斷,判斷條件在初始化的時候執(zhí)行一次就好了,即下次在同樣的條件語句不需要再次判斷了,比如在事件監(jiān)聽上的兼容。
預加載顧名思義就是提前加載,比如提前加載圖片。
當用戶需要查看時,可直接從本地緩存中取。預加載的優(yōu)點在于如果一張圖片過大,那么請求加載圖片一定會慢,頁面會出現(xiàn)空白的現(xiàn)象,用戶體驗感就變差了,為了提高用戶體驗,先提前加載圖片到本地緩存,當用戶一打開頁面時就會看到圖片。
針對高頻的觸發(fā)的函數(shù),我們一般都會思考通過節(jié)流或者防抖去實現(xiàn)性能上的優(yōu)化。
節(jié)流實現(xiàn)原理是通過定時器以和時間差做判斷。定時器有延遲的能力,事件一開始不會立即執(zhí)行,事件結束后還會再執(zhí)行一次;而時間差事件一開始就立即執(zhí)行,時間結束之后也會立即停止。
結合兩者的特性封裝節(jié)流函數(shù):
函數(shù)節(jié)流不管事件觸發(fā)有多頻繁,都會保證在規(guī)定時間內(nèi)一定會執(zhí)行一次真正的事件處理函數(shù)。
防抖實現(xiàn)原理是通過定時器,如果在規(guī)定時間內(nèi)再次觸發(fā)事件會將上次的定時器清除,即不會執(zhí)行函數(shù)并重新設置一個新的定時器,直到超過規(guī)定時間自動觸發(fā)定時器中的函數(shù)。
instanceof運算符用于檢測構造函數(shù)的prototype屬性是否出現(xiàn)在某個實例對象的原型鏈上。
call
call函數(shù)實現(xiàn)的原理是借用方法,關鍵在于隱式改變this的指向。
apply
apply函數(shù)實現(xiàn)的原理和call是相同的,關鍵在于參數(shù)的處理和判斷。
實現(xiàn)的關鍵思路:
bind
bind()方法創(chuàng)建一個新的函數(shù),在bind()被調(diào)用時,這個新函數(shù)的this被指定為bind()的第一個參數(shù),而其余參數(shù)將作為新函數(shù)的參數(shù),供調(diào)用時使用。
實現(xiàn)的關鍵思路:
1、拷貝保存原函數(shù),新函數(shù)和原函數(shù)原型鏈接
2、生成新的函數(shù),在新函數(shù)里調(diào)用原函數(shù)
拷貝數(shù)據(jù)一直是業(yè)務開發(fā)中繞不開的技巧,對于深淺拷貝數(shù)據(jù)之前寫過一篇文章來講述聊聊深拷貝淺拷貝。
通過深度優(yōu)先思維拷貝數(shù)據(jù)(DFS)
深度優(yōu)先是通過縱向的維度去思考問題,在處理過程中也考慮到對象環(huán)的問題。
解決對象環(huán)的核心思路是先存再拷貝。一開始先通過一個容器用來儲存原來的對象再進行拷貝,在每一次拷貝之前去查找容器里是否已存在該對象。這樣就切斷了原來的對象和拷貝對象的聯(lián)系。
通過廣度優(yōu)先思維拷貝數(shù)據(jù)(BFS)
廣度優(yōu)先是通過橫向的維度去思考問題,通過創(chuàng)造源隊列和拷貝數(shù)組隊列之間的關系實現(xiàn)拷貝。
之前寫過一篇關于Promise的學習分享。
Promsie.all
Promsie.race
單例模式:保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。實現(xiàn)方法一般是先判斷實例是否存在,如果存在直接返回,如果不存在就先創(chuàng)建再返回。
Object.create()方法創(chuàng)建一個新對象,使用現(xiàn)有的對象來提供新創(chuàng)建的對象的__proto__。
使用Object.create()方法將子類的實例對象繼承與父類的原型對象,通過Object.setPrototypeOf()能夠實現(xiàn)從父類中繼承靜態(tài)方法和靜態(tài)屬性。
compose函數(shù)是用來組合合并函數(shù),最后輸出值的思想。在redux源碼中用于中間件的處理。
使用while循環(huán)實現(xiàn)
使用reduce迭代實現(xiàn)
fn是一個返回Promise的函數(shù)才可使用下面的函數(shù):
fn不是一個返回Promsie的話那就包一層:
以上是es5實現(xiàn)的私有變量的封裝,通過使用WeakMap可以擴展每個實例所對應的私有屬性,私有屬性在外部無法被訪問,而且隨this對象的銷毀和消失。
這里有個小細節(jié)值得一提,請看如下的代碼:
如上是掛在到原型上的方法和每個實例獨有的方法不同寫法。它們有什么區(qū)別呢?(ps:可以手動打印)
調(diào)用原型上的方法那么私有變量的值是與最近一個實例調(diào)用原型方法的值。其上一個實例的值也是隨之改變的,那么就出現(xiàn)問題了...
而使用WeakMap可以解決如上的問題:做到將方法掛在到原型,且不同時期同一個實例調(diào)用所產(chǎn)生的結果是一致的。
源代碼
javascript--,歡迎star
我們知道string.Replace()函數(shù)只會替換第一個項目。
你可以在這個正則表達式的末尾添加/g來替換所有內(nèi)容。
var example = "potato potato";
console.log(example.replace(/pot/, "tom"));
// "tomato potato"
console.log(example.replace(/pot/g, "tom"));
// "tomato tomato"12345復制代碼類型:[javascript]
我們可以使用Set對象和Spread運算符,創(chuàng)建一個剔除重復值的新數(shù)組。
var entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1]
var unique_entries = [...new Set(entries)];
console.log(unique_entries);
// [1, 2, 3, 4, 5, 6, 7, 8]1234復制代碼類型:[javascript]
我們只需使用帶空引號的串聯(lián)運算符即可。
var converted_number = 5 + "";
console.log(converted_number);
// 5
console.log(typeof converted_number);
// string12345復制代碼類型:[javascript]
用+運算符即可。
請注意這里的用法,因為它只適用于“字符串數(shù)字”。
the_string = "123";
console.log(+the_string);
// 123
the_string = "hello";
console.log(+the_string);
// NaN123456復制代碼類型:[javascript]
每天我都在隨機排來排去……
var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(my_list.sort(function() {
return Math.random() - 0.5
}));
// [4, 8, 2, 9, 1, 3, 6, 5, 7]12345復制代碼類型:[javascript]
只需使用Spread運算符。
var entries = [1, [2, 5], [6, 7], 9];
var flat_entries = [].concat(...entries);
// [1, 2, 5, 6, 7, 9]123復制代碼類型:[javascript]
舉個例子:
if (available) {
addToCart();
}123復制代碼類型:[javascript]
只需使用變量和函數(shù)就能縮短它:
available && addToCart()1復制代碼類型:[javascript]
我一直以為我必須先聲明一個對象,然后才能分配一個動態(tài)屬性。
const dynamic = 'flavour';
var item = {
name: 'Coke',
[dynamic]: 'Cherry'
}
console.log(item);
// { name: "Coke", flavour: "Cherry" }1234567復制代碼類型:[javascript]
基本上就是覆蓋數(shù)組的length。
如果我們要調(diào)整數(shù)組的大小:
var entries = [1, 2, 3, 4, 5, 6, 7];
console.log(entries.length);
// 7
entries.length = 4;
console.log(entries.length);
// 4
console.log(entries);
// [1, 2, 3, 4]12345678復制代碼類型:[javascript]
如果我們要清空數(shù)組:
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。