Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
符號(hào) | UNICODE | 符號(hào) | 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 |
符號(hào) | UNICODE | 符號(hào) | 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 |
符號(hào) | UNICODE | 符號(hào) | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
$ | $ | \u0024 | >\0024<24 | ¢ | ¢ | \u00A2 | >\00A2<> |
£ | £ | \u00A3 | >\00A3<> | ¤ | ¤ | \u00A4 | >\00A4<> |
€ | € | \u20AC | AC | ¥ | ¥ | \u00A5 | >\00A5<> |
? | ₱ | \u20B1 | B1 | ? | ₹ | \u20B9 | B9 |
符號(hào) | UNICODE | 符號(hào) | 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 |
符號(hào) | UNICODE | 符號(hào) | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ♩ | \u2669 | 69 | ? | ♪ | \u266A | 6A |
? | ♫ | \u266B | 6B | ? | ♬ | \u266C | 6C |
? | ♭ | \u266D | 6D | ? | ♯ | \u266F | 6F |
符號(hào) | UNICODE | 符號(hào) | 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 |
符號(hào) | UNICODE | 符號(hào) | 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 |
符號(hào) | UNICODE | 符號(hào) | 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 |
符號(hào) | UNICODE | 符號(hào) | 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 |
符號(hào) | UNICODE | 符號(hào) | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ♠ | \u2660 | 60 | ? | ♣ | \u2663 | 63 |
? | ♥ | \u2665 | 65 | ? | ♦ | \u2666 | 66 |
? | ♤ | \u2664 | 64 | ? | ♧ | \u2667 | 67 |
? | ♡ | \u2661 | 61 | ? | ♢ | \u2662 | 62 |
符號(hào) | UNICODE | 符號(hào) | 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 |
符號(hào) | UNICODE | 符號(hào) | 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 |
符號(hào) | UNICODE | 符號(hào) | UNICODE | ||||
HTML | JS | CSS | HTML | JS | CSS | ||
? | ® | \u00AE | >\00AE<> | ? | © | \u00A9 | >\00A9<> |
? | ℗ | \u2117 | 17 | ? | | \u0099 | >\0099<99 |
? | ℠ | \u2120 | 20 |
符號(hào) | UNICODE | 符號(hào) | 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,幫你輕松學(xué)IT”
嗨~ 今天的你過(guò)得還好嗎?
生命不必每時(shí)每刻都要沖刺
低沉?xí)r
就當(dāng)給自己放了一個(gè)悠長(zhǎng)假期
- 2024.04.24 -
JavaScript關(guān)鍵字是一種特殊的標(biāo)識(shí)符,它們?cè)谡Z(yǔ)言中有固定的含義,不能用作變量名或函數(shù)名。這些關(guān)鍵字是JavaScript的基礎(chǔ),理解它們是掌握J(rèn)avaScript的關(guān)鍵。
今天,我們將一起探索JavaScript中的26個(gè)關(guān)鍵字,了解這些關(guān)鍵字各自獨(dú)特的含義、特性和使用方法。
Javascript關(guān)鍵字(Keyword)是指在Javascript語(yǔ)言中有特定含義,成為Javascript語(yǔ)法中一部分的那些字,是 JavaScript 語(yǔ)言內(nèi)部使用的一組名字(或稱為命令)。
Javascript關(guān)鍵字是不能作為變量名和函數(shù)名使用的。使用Javascript關(guān)鍵字作為變量名或函數(shù)名,會(huì)使Javascript在載入過(guò)程中出現(xiàn)編譯錯(cuò)誤。
Java中的關(guān)鍵字可用于表示控制語(yǔ)句的開(kāi)始或結(jié)束,或者用于執(zhí)行特定操作等。按照規(guī)則,關(guān)鍵字也是語(yǔ)言保留的,不能用作標(biāo)識(shí)符。
下面我們來(lái)詳細(xì)介紹一下JavaScript關(guān)鍵字的作用和使用方法。
JavaScript是一種廣泛使用的編程語(yǔ)言,它具有豐富的關(guān)鍵字,這些關(guān)鍵字在JavaScript語(yǔ)言中發(fā)揮著重要的作用,JavaScript一共提供了26個(gè)關(guān)鍵字:
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)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)是一種重復(fù)執(zhí)行某個(gè)代碼塊的結(jié)構(gòu),break關(guān)鍵字可以用于循環(huán)結(jié)構(gòu)中的條件語(yǔ)句中,用于跳出循環(huán)。例如:
for (var i = 0; i < 10; i++) {
if (i == 5) {
break; // 當(dāng)i等于5時(shí)跳出循環(huán)
}
console.log(i);
}
2、case:捕捉
它用于在switch語(yǔ)句中定義一個(gè)分支。switch語(yǔ)句是一種根據(jù)表達(dá)式的值執(zhí)行不同代碼塊的結(jié)構(gòu),case關(guān)鍵字可以用于switch語(yǔ)句中,用于定義不同的分支。例如:
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進(jìn)行錯(cuò)誤判斷
catch是JavaScript中的一個(gè)關(guān)鍵字,它用于捕獲異常。異常是一種程序運(yùn)行時(shí)出現(xiàn)的錯(cuò)誤,catch關(guān)鍵字可以用于try-catch語(yǔ)句中,用于捕獲并處理異常。例如:
try {
// 代碼
} catch (e) {
console.log('發(fā)生異常:' + e.message);
}
4、continue:繼續(xù)
continue用于跳過(guò)當(dāng)前循環(huán)中的某個(gè)迭代。循環(huán)結(jié)構(gòu)是一種重復(fù)執(zhí)行某個(gè)代碼塊的結(jié)構(gòu),continue關(guān)鍵字可以用于循環(huán)結(jié)構(gòu)中的條件語(yǔ)句中,用于跳過(guò)當(dāng)前迭代。例如:
for (var i = 0; i < 10; i++) {
if (i == 5) {
continue; // 當(dāng)i等于5時(shí)跳過(guò)當(dāng)前迭代
}
console.log(i);
}
5、debugger:設(shè)置斷點(diǎn)
它用于在代碼中設(shè)置斷點(diǎn),方便調(diào)試代碼。調(diào)試是一種在代碼運(yùn)行時(shí)發(fā)現(xiàn)和解決問(wèn)題的過(guò)程,debugger關(guān)鍵字可以用于代碼中,用于設(shè)置斷點(diǎn)。例如:
function foo() {
var x = 10;
debugger; // 在這里設(shè)置斷點(diǎn)
console.log(x);
}
6、default:配合switch,當(dāng)條件不存在時(shí)使用該項(xiàng)
default用于在switch語(yǔ)句中定義一個(gè)默認(rèn)分支。switch語(yǔ)句是一種根據(jù)表達(dá)式的值執(zhí)行不同代碼塊的結(jié)構(gòu),default關(guān)鍵字可以用于switch語(yǔ)句中,用于定義默認(rèn)分支。例如:
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:刪除了一個(gè)屬性
delete用于刪除對(duì)象的屬性或數(shù)組中的元素。對(duì)象是JavaScript中的一種數(shù)據(jù)類(lèi)型,它由一組屬性組成,delete關(guān)鍵字可以用于對(duì)象的屬性中,用于刪除屬性。例如:
var obj = {a: 1, b: 2, c: 3};
delete obj.b; // 刪除對(duì)象obj的屬性b
console.log(obj); // 輸出{a: 1, c: 3}
8、do:聲明一個(gè)循環(huán)
do用于定義一個(gè)do-while循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)是一種重復(fù)執(zhí)行某個(gè)代碼塊的結(jié)構(gòu),do關(guān)鍵字可以用于do-while循環(huán)中,用于定義循環(huán)體。例如:
var i = 0;
do {
console.log(i);
i++;
} while (i < 10);
9、else:否則//配合if條件判斷,用于條件選擇的跳轉(zhuǎn)
else用于在if語(yǔ)句中定義一個(gè)分支。if語(yǔ)句是一種根據(jù)條件執(zhí)行不同代碼塊的結(jié)構(gòu),else關(guān)鍵字可以用于if語(yǔ)句中,用于定義另一個(gè)分支。例如:
if (n == 1) {
console.log('n等于1');
} else {
console.log('n不等于1');
}
10、finally:預(yù)防出現(xiàn)異常時(shí)用的
finally用于定義一個(gè)try-catch-finally語(yǔ)句中的finally塊。try-catch-finally語(yǔ)句是一種用于處理異常的結(jié)構(gòu),finally關(guān)鍵字可以用于finally塊中,用于定義一些必須執(zhí)行的代碼。例如:
try {
// 可能會(huì)拋出異常的代碼
} catch (e) {
// 處理異常的代碼
} finally {
// 必須執(zhí)行的代碼
}
11、for:循環(huán)語(yǔ)句
for用于定義一個(gè)for循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)是一種重復(fù)執(zhí)行某個(gè)代碼塊的結(jié)構(gòu),for關(guān)鍵字可以用于for循環(huán)中,用于定義循環(huán)條件。例如:
for (var i = 0; i < 10; i++) {
console.log(i);
}
12、function:定義函數(shù)的關(guān)鍵字
function用于定義一個(gè)函數(shù)。函數(shù)是一種封裝了一段代碼的結(jié)構(gòu),它可以接受參數(shù)并返回結(jié)果。function關(guān)鍵字可以用于函數(shù)定義中,用于定義函數(shù)名和參數(shù)列表。例如:
function add(a, b) {
return a + b;
}
console.log(add(1, 2)); // 輸出3
13、if:定義一個(gè)if語(yǔ)句
if用于定義一個(gè)if語(yǔ)句。if語(yǔ)句是一種根據(jù)條件執(zhí)行不同代碼塊的結(jié)構(gòu),if關(guān)鍵字可以用于if語(yǔ)句中,用于定義條件。例如:
if (n == 1) {
console.log('n等于1');
} else {
console.log('n不等于1');
}
14、in:判斷某個(gè)屬性屬于某個(gè)對(duì)象
in用于判斷一個(gè)對(duì)象是否包含某個(gè)屬性。對(duì)象是JavaScript中的一種數(shù)據(jù)類(lèi)型,它由一組屬性組成,in關(guān)鍵字可以用于對(duì)象中,用于判斷對(duì)象是否包含某個(gè)屬性。例如:
var obj = {a: 1, b: 2, c: 3};
if ('a' in obj) {
console.log('obj包含屬性a');
} else {
console.log('obj不包含屬性a');
}
15、instanceof:某個(gè)對(duì)象是不是另一個(gè)對(duì)象的實(shí)例
instanceof用于判斷一個(gè)對(duì)象是否是某個(gè)類(lèi)的實(shí)例。類(lèi)是JavaScript中的一種數(shù)據(jù)類(lèi)型,它由一組屬性和方法組成,instanceof關(guān)鍵字可以用于類(lèi)中,用于判斷對(duì)象是否是該類(lèi)的實(shí)例。例如:
function Person(name) {
this.name = name;
}
var p = new Person('張三');
if (p instanceof Person) {
console.log('p是Person類(lèi)的實(shí)例');
} else {
console.log('p不是Person類(lèi)的實(shí)例');
}
16、new:創(chuàng)建一個(gè)新對(duì)象
new用于創(chuàng)建一個(gè)對(duì)象。對(duì)象是JavaScript中的一種數(shù)據(jù)類(lèi)型,它由一組屬性和方法組成,new關(guān)鍵字可以用于類(lèi)中,用于創(chuàng)建該類(lèi)的實(shí)例。例如:
function Person(name) {
this.name = name;
}
var p = new Person('張三');
console.log(p.name); // 輸出張三
17、return:返回
return用于從函數(shù)中返回一個(gè)值。函數(shù)是JavaScript中的一種數(shù)據(jù)類(lèi)型,它由一段代碼塊組成,return關(guān)鍵字可以用于函數(shù)中,用于返回函數(shù)的執(zhí)行結(jié)果。例如:
function add(a, b) {
return a + b;
}
console.log(add(1, 2)); // 輸出3
18、switch:彌補(bǔ)if的多重判斷語(yǔ)句
switch用于根據(jù)不同的條件執(zhí)行不同的代碼塊。switch語(yǔ)句是一種根據(jù)條件執(zhí)行不同代碼塊的結(jié)構(gòu),switch關(guān)鍵字可以用于switch語(yǔ)句中,用于定義條件。例如:
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)用該方法的對(duì)象
this用于引用當(dāng)前對(duì)象。對(duì)象是JavaScript中的一種數(shù)據(jù)類(lèi)型,它由一組屬性和方法組成,this關(guān)鍵字可以用于對(duì)象中,用于引用當(dāng)前對(duì)象的屬性和方法。例如:
var obj = {
name: '張三',
sayName: function() {
console.log(this.name);
}
};
obj.sayName(); // 輸出張三
20、throw:拋出異常
throw是JavaScript中的一個(gè)關(guān)鍵字,它用于拋出一個(gè)異常。異常是JavaScript中的一種錯(cuò)誤類(lèi)型,它可以用于在程序運(yùn)行過(guò)程中發(fā)現(xiàn)錯(cuò)誤并停止程序的執(zhí)行。throw關(guān)鍵字可以用于函數(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中的一個(gè)關(guān)鍵字,它用于捕獲異常。異常是JavaScript中的一種錯(cuò)誤類(lèi)型,它可以用于在程序運(yùn)行過(guò)程中發(fā)現(xiàn)錯(cuò)誤并停止程序的執(zhí)行。try語(yǔ)句是一種捕獲異常的結(jié)構(gòu),try關(guān)鍵字可以用于try語(yǔ)句中,用于捕獲異常。例如:
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:檢測(cè)變量的數(shù)據(jù)類(lèi)型
typeof是JavaScript中的一個(gè)關(guān)鍵字,它用于獲取變量的類(lèi)型。變量是JavaScript中的一種數(shù)據(jù)類(lèi)型,它可以是數(shù)字、字符串、布爾值等。typeof關(guān)鍵字可以用于變量中,用于獲取變量的類(lèi)型。例如:
var a = 10;
console.log(typeof a); // 輸出number
23、var:聲明變量
var是JavaScript中的一個(gè)關(guān)鍵字,它用于聲明變量。變量是JavaScript中的一種數(shù)據(jù)類(lèi)型,它可以用于存儲(chǔ)數(shù)據(jù)。var關(guān)鍵字可以用于變量中,用于聲明變量。例如:
var a = 10;
console.log(a); // 輸出10
24、void:空/ 聲明沒(méi)有返回值
void是JavaScript中的一個(gè)關(guān)鍵字,它用于執(zhí)行一個(gè)表達(dá)式并返回undefined。undefined是JavaScript中的一種特殊值,它表示一個(gè)未定義的值。void關(guān)鍵字可以用于表達(dá)式中,用于執(zhí)行表達(dá)式并返回undefined。例如:
function doSomething() {
console.log('執(zhí)行了doSomething函數(shù)');
}
var result = void doSomething();
console.log(result); // 輸出undefined
25、while
while是JavaScript中的一個(gè)關(guān)鍵字,它用于創(chuàng)建一個(gè)循環(huán)結(jié)構(gòu)。循環(huán)是JavaScript中的一種控制結(jié)構(gòu),它可以用于重復(fù)執(zhí)行一段代碼。while關(guān)鍵字可以用于循環(huán)中,用于創(chuàng)建一個(gè)基于條件的循環(huán)。例如:
var i = 0;
while (i < 10) {
console.log(i);
i++;
}
26、with
with是JavaScript中的一個(gè)關(guān)鍵字,它用于創(chuàng)建一個(gè)作用域。作用域是JavaScript中的一種機(jī)制,它可以用于控制變量的作用范圍。with關(guān)鍵字可以用于代碼塊中,用于創(chuàng)建一個(gè)作用域。例如:
var obj = {
name: '張三',
age: 20
};
with (obj) {
console.log(name); // 輸出張三
console.log(age); // 輸出20
}
想要快速入門(mén)前端開(kāi)發(fā)嗎?推薦一個(gè)前端開(kāi)發(fā)基礎(chǔ)課程,這個(gè)老師講的特別好,零基礎(chǔ)學(xué)習(xí)無(wú)壓力,知識(shí)點(diǎn)結(jié)合代碼,邊學(xué)邊練,可以免費(fèi)試看試學(xué),還有各種輔助工具和資料,非常適合新手!點(diǎn)這里前往學(xué)習(xí)哦!云端源想-程序員必看的精品課程
在開(kāi)發(fā)過(guò)程中使用關(guān)鍵字我們需要注意以下幾點(diǎn):
區(qū)分大小寫(xiě):JavaScript是區(qū)分大小寫(xiě)的,因此關(guān)鍵字的大小寫(xiě)必須正確。
不能用作變量名:關(guān)鍵字不能被用作變量名,函數(shù)名等等,會(huì)出現(xiàn)問(wèn)題。
不需要硬記關(guān)鍵字:關(guān)鍵字不用去硬記,我們?cè)诰帉?xiě)代碼時(shí)根據(jù)系統(tǒng)的提示去規(guī)避就可以了。
保留字:JavaScript有一些保留字,不能用作變量名、函數(shù)名或?qū)傩悦?/span>
不要使用全局變量:盡量避免使用全局變量,以免與其他腳本或庫(kù)發(fā)生沖突。可以使用立即執(zhí)行函數(shù)表達(dá)式(IIFE)或模塊模式來(lái)避免全局變量污染。
使用嚴(yán)格模式:在代碼中添加"use strict"指令,以啟用嚴(yán)格模式。這將有助于避免一些常見(jiàn)的錯(cuò)誤,例如未聲明的變量、隱式類(lèi)型轉(zhuǎn)換等。
避免使用eval()函數(shù):eval()函數(shù)用于動(dòng)態(tài)執(zhí)行字符串中的JavaScript代碼,但可能導(dǎo)致性能問(wèn)題和安全風(fēng)險(xiǎn)。盡量避免使用eval(),尋找其他替代方案。
不要使用with語(yǔ)句:with語(yǔ)句會(huì)改變代碼的作用域鏈,可能導(dǎo)致意外的錯(cuò)誤。盡量避免使用with語(yǔ)句,改用局部變量或?qū)ο髮傩栽L問(wèn)。
避免使用重復(fù)的標(biāo)識(shí)符:確保變量名、函數(shù)名和屬性名在同一作用域內(nèi)是唯一的,以避免命名沖突。
遵循編碼規(guī)范:遵循一致的命名約定、縮進(jìn)風(fēng)格和代碼結(jié)構(gòu),以提高代碼的可讀性和可維護(hù)性。
除了關(guān)鍵字還有個(gè)“保留字”的概念,所謂保留字,實(shí)際上就是預(yù)留的“關(guān)鍵字”。意思是現(xiàn)在雖然還不是關(guān)鍵字,但是未來(lái)可能會(huì)成為關(guān)鍵字,同樣不能使用它們當(dāng)充當(dāng)變量名、函數(shù)名等標(biāo)識(shí)符。
下面是JavaScript中保留字的含義,大家同樣不用記,了解一下就行了。
以上就是關(guān)于JavaScript關(guān)鍵字的相關(guān)內(nèi)容了,通過(guò)了解這26個(gè)JavaScript關(guān)鍵字的含義、特性和使用方法,你已經(jīng)邁出了成為編程高手的重要一步。
記住,實(shí)踐是學(xué)習(xí)的關(guān)鍵,不斷地編寫(xiě)代碼并應(yīng)用這些關(guān)鍵字,你將逐漸掌握J(rèn)avaScript的精髓。
如果覺(jué)得本文對(duì)你有所幫助,別忘了點(diǎn)贊和分享哦!
我們下期再見(jiàn)!
END
文案編輯|云端學(xué)長(zhǎng)
文案配圖|云端學(xué)長(zhǎng)
內(nèi)容由:云端源想分享
過(guò)去的幾年中,Python已成為機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的首選編程語(yǔ)言。與機(jī)器學(xué)習(xí)和深度學(xué)習(xí)相關(guān)的大多數(shù)書(shū)籍和在線課程要么只用Python,要么再帶上R語(yǔ)言。Python有著豐富的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)庫(kù)、專(zhuān)門(mén)優(yōu)化的實(shí)現(xiàn),具備可伸縮性和大量功能,因而廣受歡迎。
但Python并不是編寫(xiě)機(jī)器學(xué)習(xí)應(yīng)用程序的唯一選擇。社區(qū)中有越來(lái)越多的開(kāi)發(fā)人員正在使用JavaScript來(lái)運(yùn)行機(jī)器學(xué)習(xí)模型。
盡管JavaScript(目前)并不能在機(jī)器學(xué)習(xí)領(lǐng)域替代根基深厚的Python,但掌握J(rèn)avaScript機(jī)器學(xué)習(xí)技能也是有很多不錯(cuò)的理由的,
函數(shù)柯里化的是一個(gè)為多參函數(shù)實(shí)現(xiàn)遞歸降解的方式。其實(shí)現(xiàn)的核心是:
要思考如何緩存每一次傳入的參數(shù)
傳入的參數(shù)和目標(biāo)函數(shù)的入?yún)⒆霰容^
這里通過(guò)閉包的方式緩存參數(shù),實(shí)現(xiàn)如下:
使用方式如下:
函數(shù)柯里化僅僅只是上面求和的這種運(yùn)用嗎??
這個(gè)問(wèn)題,有必要去一下。其實(shí)利用函數(shù)柯里化這種思想,我們可以更好的實(shí)現(xiàn)函數(shù)的封裝。
就比如有監(jiān)聽(tīng)某一事件那么就會(huì)有移除該事件的操作,那么就可以利用柯里化的思想去封裝代碼了。
或者說(shuō)一個(gè)輸入A有唯一并且對(duì)應(yīng)的輸出B,那么從更大的角度去思想這樣的工程項(xiàng)目是更安全,獨(dú)立的。也便于去維護(hù)。
手寫(xiě)map方法
map()方法根據(jù)回調(diào)函數(shù)映射一個(gè)新數(shù)組
手寫(xiě)filter方法
filter()方法返回一個(gè)數(shù)組,返回的每一項(xiàng)是在回調(diào)函數(shù)中執(zhí)行結(jié)果true。
filter和map的區(qū)別:filter是映射出條件為true的item,map是映射每一個(gè)item。
手寫(xiě)reduce方法
reduce()方法循環(huán)迭代,回調(diào)函數(shù)的結(jié)果都會(huì)作為下一次的形參的第一個(gè)參數(shù)。
手寫(xiě)every方法
every()方法測(cè)試一個(gè)數(shù)組內(nèi)的所有元素是否都能通過(guò)某個(gè)指定函數(shù)的測(cè)試。它返回一個(gè)布爾值。
手寫(xiě)some方法
some()方法測(cè)試數(shù)組中是不是至少有1個(gè)元素通過(guò)了被提供的函數(shù)測(cè)試。它返回的是一個(gè)Boolean類(lèi)型的值。
手寫(xiě)find方法
find()方法返回?cái)?shù)組中滿足提供的測(cè)試函數(shù)的第一個(gè)元素的值。否則返回undefined。
拉平數(shù)組
將嵌套的數(shù)組扁平化,在處理業(yè)務(wù)數(shù)據(jù)場(chǎng)景中是頻率出現(xiàn)比較高的。那如何實(shí)現(xiàn)呢?
利用ES6語(yǔ)法flat(num)方法將數(shù)組拉平。
該方法不傳參數(shù)默認(rèn)只會(huì)拉平一層,如果想拉平多層嵌套的數(shù)組,需要傳入一個(gè)整數(shù),表示要拉平的層級(jí)。該返回返回一個(gè)新的數(shù)組,對(duì)原數(shù)組沒(méi)有影響。
利用reduce()方法將數(shù)組拉平。
利用reduce進(jìn)行迭代,核心的思想是遞歸實(shí)現(xiàn)。
模擬棧實(shí)現(xiàn)數(shù)組拉平
該方法是模擬棧,在性能上相對(duì)最優(yōu)解。
實(shí)現(xiàn)圖片懶加載其核心的思想就是將img的src屬性先使用一張本地占位符,或者為空。然后真實(shí)的圖片路徑再定義一個(gè)data-set屬性存起來(lái),待達(dá)到一定條件的時(shí)將data-img的屬性值賦給src。
如下是通過(guò)scroll滾動(dòng)事件監(jiān)聽(tīng)來(lái)實(shí)現(xiàn)的圖片懶加載,當(dāng)圖片都加載完畢移除事件監(jiān)聽(tīng),并且將移除html標(biāo)簽。
scroll滾動(dòng)事件容易造成性能問(wèn)題。那可以通過(guò)IntersectionObserver自動(dòng)觀察img標(biāo)簽是否進(jìn)入可視區(qū)域。
實(shí)例化IntersectionObserver實(shí)例,接受兩個(gè)參數(shù):callback是可見(jiàn)性變化時(shí)的回調(diào)函數(shù),option是配置對(duì)象(該參數(shù)可選)。
當(dāng)img標(biāo)簽進(jìn)入可視區(qū)域時(shí)會(huì)執(zhí)行實(shí)例化時(shí)的回調(diào),同時(shí)給回調(diào)傳入一個(gè)entries參數(shù),保存著實(shí)例觀察的所有元素的一些狀態(tài),比如每個(gè)元素的邊界信息,當(dāng)前元素對(duì)應(yīng)的DOM節(jié)點(diǎn),當(dāng)前元素進(jìn)入可視區(qū)域的比率,每當(dāng)一個(gè)元素進(jìn)入可視區(qū)域,將真正的圖片賦值給當(dāng)前img標(biāo)簽,同時(shí)解除對(duì)其的觀察。
如上是懶加載圖片的實(shí)現(xiàn)方式。
值得思考的是,懶加載和惰性函數(shù)有什么不一樣嘛?
我所理解的懶加載顧名思義就是需要了才去加載,懶加載正是惰性的一種,但惰性函數(shù)不僅僅是懶加載,它還可以包含另外一種方向。
惰性函數(shù)的另一種方向是在重寫(xiě)函數(shù),每一次調(diào)用函數(shù)的時(shí)候無(wú)需在做一些條件的判斷,判斷條件在初始化的時(shí)候執(zhí)行一次就好了,即下次在同樣的條件語(yǔ)句不需要再次判斷了,比如在事件監(jiān)聽(tīng)上的兼容。
預(yù)加載顧名思義就是提前加載,比如提前加載圖片。
當(dāng)用戶需要查看時(shí),可直接從本地緩存中取。預(yù)加載的優(yōu)點(diǎn)在于如果一張圖片過(guò)大,那么請(qǐng)求加載圖片一定會(huì)慢,頁(yè)面會(huì)出現(xiàn)空白的現(xiàn)象,用戶體驗(yàn)感就變差了,為了提高用戶體驗(yàn),先提前加載圖片到本地緩存,當(dāng)用戶一打開(kāi)頁(yè)面時(shí)就會(huì)看到圖片。
針對(duì)高頻的觸發(fā)的函數(shù),我們一般都會(huì)思考通過(guò)節(jié)流或者防抖去實(shí)現(xiàn)性能上的優(yōu)化。
節(jié)流實(shí)現(xiàn)原理是通過(guò)定時(shí)器以和時(shí)間差做判斷。定時(shí)器有延遲的能力,事件一開(kāi)始不會(huì)立即執(zhí)行,事件結(jié)束后還會(huì)再執(zhí)行一次;而時(shí)間差事件一開(kāi)始就立即執(zhí)行,時(shí)間結(jié)束之后也會(huì)立即停止。
結(jié)合兩者的特性封裝節(jié)流函數(shù):
函數(shù)節(jié)流不管事件觸發(fā)有多頻繁,都會(huì)保證在規(guī)定時(shí)間內(nèi)一定會(huì)執(zhí)行一次真正的事件處理函數(shù)。
防抖實(shí)現(xiàn)原理是通過(guò)定時(shí)器,如果在規(guī)定時(shí)間內(nèi)再次觸發(fā)事件會(huì)將上次的定時(shí)器清除,即不會(huì)執(zhí)行函數(shù)并重新設(shè)置一個(gè)新的定時(shí)器,直到超過(guò)規(guī)定時(shí)間自動(dòng)觸發(fā)定時(shí)器中的函數(shù)。
instanceof運(yùn)算符用于檢測(cè)構(gòu)造函數(shù)的prototype屬性是否出現(xiàn)在某個(gè)實(shí)例對(duì)象的原型鏈上。
call
call函數(shù)實(shí)現(xiàn)的原理是借用方法,關(guān)鍵在于隱式改變this的指向。
apply
apply函數(shù)實(shí)現(xiàn)的原理和call是相同的,關(guān)鍵在于參數(shù)的處理和判斷。
實(shí)現(xiàn)的關(guān)鍵思路:
bind
bind()方法創(chuàng)建一個(gè)新的函數(shù),在bind()被調(diào)用時(shí),這個(gè)新函數(shù)的this被指定為bind()的第一個(gè)參數(shù),而其余參數(shù)將作為新函數(shù)的參數(shù),供調(diào)用時(shí)使用。
實(shí)現(xiàn)的關(guān)鍵思路:
1、拷貝保存原函數(shù),新函數(shù)和原函數(shù)原型鏈接
2、生成新的函數(shù),在新函數(shù)里調(diào)用原函數(shù)
拷貝數(shù)據(jù)一直是業(yè)務(wù)開(kāi)發(fā)中繞不開(kāi)的技巧,對(duì)于深淺拷貝數(shù)據(jù)之前寫(xiě)過(guò)一篇文章來(lái)講述聊聊深拷貝淺拷貝。
通過(guò)深度優(yōu)先思維拷貝數(shù)據(jù)(DFS)
深度優(yōu)先是通過(guò)縱向的維度去思考問(wèn)題,在處理過(guò)程中也考慮到對(duì)象環(huán)的問(wèn)題。
解決對(duì)象環(huán)的核心思路是先存再拷貝。一開(kāi)始先通過(guò)一個(gè)容器用來(lái)儲(chǔ)存原來(lái)的對(duì)象再進(jìn)行拷貝,在每一次拷貝之前去查找容器里是否已存在該對(duì)象。這樣就切斷了原來(lái)的對(duì)象和拷貝對(duì)象的聯(lián)系。
通過(guò)廣度優(yōu)先思維拷貝數(shù)據(jù)(BFS)
廣度優(yōu)先是通過(guò)橫向的維度去思考問(wèn)題,通過(guò)創(chuàng)造源隊(duì)列和拷貝數(shù)組隊(duì)列之間的關(guān)系實(shí)現(xiàn)拷貝。
之前寫(xiě)過(guò)一篇關(guān)于Promise的學(xué)習(xí)分享。
Promsie.all
Promsie.race
單例模式:保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。實(shí)現(xiàn)方法一般是先判斷實(shí)例是否存在,如果存在直接返回,如果不存在就先創(chuàng)建再返回。
Object.create()方法創(chuàng)建一個(gè)新對(duì)象,使用現(xiàn)有的對(duì)象來(lái)提供新創(chuàng)建的對(duì)象的__proto__。
使用Object.create()方法將子類(lèi)的實(shí)例對(duì)象繼承與父類(lèi)的原型對(duì)象,通過(guò)Object.setPrototypeOf()能夠?qū)崿F(xiàn)從父類(lèi)中繼承靜態(tài)方法和靜態(tài)屬性。
compose函數(shù)是用來(lái)組合合并函數(shù),最后輸出值的思想。在redux源碼中用于中間件的處理。
使用while循環(huán)實(shí)現(xiàn)
使用reduce迭代實(shí)現(xiàn)
fn是一個(gè)返回Promise的函數(shù)才可使用下面的函數(shù):
fn不是一個(gè)返回Promsie的話那就包一層:
以上是es5實(shí)現(xiàn)的私有變量的封裝,通過(guò)使用WeakMap可以擴(kuò)展每個(gè)實(shí)例所對(duì)應(yīng)的私有屬性,私有屬性在外部無(wú)法被訪問(wèn),而且隨this對(duì)象的銷(xiāo)毀和消失。
這里有個(gè)小細(xì)節(jié)值得一提,請(qǐng)看如下的代碼:
如上是掛在到原型上的方法和每個(gè)實(shí)例獨(dú)有的方法不同寫(xiě)法。它們有什么區(qū)別呢?(ps:可以手動(dòng)打印)
調(diào)用原型上的方法那么私有變量的值是與最近一個(gè)實(shí)例調(diào)用原型方法的值。其上一個(gè)實(shí)例的值也是隨之改變的,那么就出現(xiàn)問(wèn)題了...
而使用WeakMap可以解決如上的問(wèn)題:做到將方法掛在到原型,且不同時(shí)期同一個(gè)實(shí)例調(diào)用所產(chǎn)生的結(jié)果是一致的。
源代碼
javascript--,歡迎star
我們知道string.Replace()函數(shù)只會(huì)替換第一個(gè)項(xiàng)目。
你可以在這個(gè)正則表達(dá)式的末尾添加/g來(lái)替換所有內(nèi)容。
var example = "potato potato";
console.log(example.replace(/pot/, "tom"));
// "tomato potato"
console.log(example.replace(/pot/g, "tom"));
// "tomato tomato"12345復(fù)制代碼類(lèi)型:[javascript]
我們可以使用Set對(duì)象和Spread運(yùn)算符,創(chuàng)建一個(gè)剔除重復(fù)值的新數(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復(fù)制代碼類(lèi)型:[javascript]
我們只需使用帶空引號(hào)的串聯(lián)運(yùn)算符即可。
var converted_number = 5 + "";
console.log(converted_number);
// 5
console.log(typeof converted_number);
// string12345復(fù)制代碼類(lèi)型:[javascript]
用+運(yùn)算符即可。
請(qǐng)注意這里的用法,因?yàn)樗贿m用于“字符串?dāng)?shù)字”。
the_string = "123";
console.log(+the_string);
// 123
the_string = "hello";
console.log(+the_string);
// NaN123456復(fù)制代碼類(lèi)型:[javascript]
每天我都在隨機(jī)排來(lái)排去……
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復(fù)制代碼類(lèi)型:[javascript]
只需使用Spread運(yùn)算符。
var entries = [1, [2, 5], [6, 7], 9];
var flat_entries = [].concat(...entries);
// [1, 2, 5, 6, 7, 9]123復(fù)制代碼類(lèi)型:[javascript]
舉個(gè)例子:
if (available) {
addToCart();
}123復(fù)制代碼類(lèi)型:[javascript]
只需使用變量和函數(shù)就能縮短它:
available && addToCart()1復(fù)制代碼類(lèi)型:[javascript]
我一直以為我必須先聲明一個(gè)對(duì)象,然后才能分配一個(gè)動(dòng)態(tài)屬性。
const dynamic = 'flavour';
var item = {
name: 'Coke',
[dynamic]: 'Cherry'
}
console.log(item);
// { name: "Coke", flavour: "Cherry" }1234567復(fù)制代碼類(lèi)型:[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復(fù)制代碼類(lèi)型:[javascript]
如果我們要清空數(shù)組:
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。