æä»¬ç»å¸¸éè¦å¨èæ¬ç许å¤å°æ¹æ§è¡å¾ç¸ä¼¼çæä½ã
ä¾å¦ï¼å½è®¿é®è ç»å½ã注éæè å¨å ¶ä»å°æ¹æ¶ï¼æä»¬éè¦æ¾ç¤ºä¸æ¡å¥½ççä¿¡æ¯ã
彿°æ¯ç¨åºç主è¦âæå»ºæ¨¡åâã彿°ä½¿è¯¥æ®µä»£ç å¯ä»¥è¢«è°ç¨å¾å¤æ¬¡ï¼èä¸éè¦åéå¤ç代ç ã
æä»¬å·²ç»çå°äºå
å»ºå½æ°ç示ä¾ï¼å¦ alert(message)ãprompt(message, default) å confirm(question)ã使们ä¹å¯ä»¥å建èªå·±ç彿°ã
彿°å£°æ
ä½¿ç¨ å½æ°å£°æ åå»ºå½æ°ã
çèµ·æ¥å°±åè¿æ ·ï¼
function showMessage() {
alert( 'Hello everyone!' );
}
function å
³é®åé¦å
åºç°ï¼ç¶åæ¯ å½æ°åï¼ç¶åæ¯æ¬å·ä¹é´ç åæ° å表ï¼ç¨éå·åéï¼å¨ä¸è¿°ç¤ºä¾ä¸ä¸ºç©ºï¼æä»¬å°å¨æ¥ä¸æ¥ç示ä¾ä¸çå°ï¼ï¼æåæ¯è±æ¬å·ä¹é´ç代ç ï¼å³â彿°ä½âï¼ã
function name(parameter1, parameter2, ... parameterN) {
...body...
}
æä»¬çæ°å½æ°å¯ä»¥éè¿åç§°è°ç¨ï¼showMessage()ã
ä¾å¦ï¼
function showMessage() {
alert( 'Hello everyone!' );
}
showMessage();
showMessage();
è°ç¨ showMessage() æ§è¡å½æ°ç代ç ãè¿éæä»¬ä¼çå°æ¾ç¤ºä¸¤æ¬¡æ¶æ¯ã
è¿ä¸ªä¾åæ¸ æ¥å°æ¼ç¤ºäºå½æ°ç主è¦ç®çä¹ä¸ï¼é¿å 代ç éå¤ã
妿æä»¬éè¦æ´æ¹æ¶æ¯æå ¶æ¾ç¤ºæ¹å¼ï¼åªéå¨ä¸ä¸ªå°æ¹ä¿®æ¹ä»£ç ï¼è¾åºå®ç彿°ã
å±é¨åé
å¨å½æ°ä¸å£°æçåéåªå¨è¯¥å½æ°å é¨å¯è§ã
ä¾å¦ï¼
function showMessage() {
let message = "Hello, I'm JavaScript!"; // å±é¨åé
alert( message );
}
showMessage(); // Hello, I'm JavaScript!
alert( message ); // <-- é误ï¼å鿝彿°çå±é¨åé
å¤é¨åé
彿°ä¹å¯ä»¥è®¿é®å¤é¨åéï¼ä¾å¦ï¼
let userName = 'John';
function showMessage() {
let message = 'Hello, ' + userName;
alert(message);
}
showMessage(); // Hello, John
彿°å¯¹å¤é¨å鿥æå ¨é¨çè®¿é®æéã彿°ä¹å¯ä»¥ä¿®æ¹å¤é¨åéã
ä¾å¦ï¼
let userName = 'John';
function showMessage() {
userName = "Bob"; // (1) æ¹åå¤é¨åé
let message = 'Hello, ' + userName;
alert(message);
}
alert( userName ); // John å¨å½æ°è°ç¨ä¹å
showMessage();
alert( userName ); // Bobï¼å¼è¢«å½æ°ä¿®æ¹äº
åªæå¨æ²¡æå±é¨åéçæ åµä¸æä¼ä½¿ç¨å¤é¨åéã
妿å¨å½æ°å
é¨å£°æäºåååéï¼é£ä¹å½æ°ä¼ é®è½ å¤é¨åéãä¾å¦ï¼å¨ä¸é¢ç代ç ä¸ï¼å½æ°ä½¿ç¨å±é¨ç userNameï¼èå¤é¨åé被忽ç¥ï¼
let userName = 'John';
function showMessage() {
let userName = "Bob"; // 声æä¸ä¸ªå±é¨åé
let message = 'Hello, ' + userName; // Bob
alert(message);
}
// 彿°ä¼å建并使ç¨å®èªå·±ç userName
showMessage();
alert( userName ); // Johnï¼æªè¢«æ´æ¹ï¼å½æ°æ²¡æè®¿é®å¤é¨åéã
ä»»ä½å½æ°ä¹å¤å£°æçåéï¼ä¾å¦ä¸è¿°ä»£ç ä¸çå¤é¨åé userNameï¼é½è¢«ç§°ä¸º å
¨å± åéã
å ¨å±åéå¨ä»»æå½æ°ä¸é½æ¯å¯è§çï¼é¤é被å±é¨åéé®è½ï¼ã
åå°å ¨å±åéçä½¿ç¨æ¯ä¸ç§å¾å¥½çåæ³ãç°ä»£çä»£ç æå¾å°çè³æ²¡æå ¨å±åéã大夿°åéåå¨äºå®ä»¬ç彿°ä¸ã使¯ææ¶åï¼å ¨å±åéè½å¤ç¨äºåå¨é¡¹ç®çº§å«çæ°æ®ã
åæ°
æä»¬å¯ä»¥éè¿åæ°å°ä»»ææ°æ®ä¼ éç»å½æ°ã
å¨å¦ä¸ç¤ºä¾ä¸ï¼å½æ°æä¸¤ä¸ªåæ°ï¼from å textã
function showMessage(from, text) { // åæ°ï¼from å text
alert(from + ': ' + text);
}
showMessage('Ann', 'Hello!'); // Ann: Hello! (*)
showMessage('Ann', "What's up?"); // Ann: What's up? (**)
å½å½æ°å¨ (*) å (**) è¡ä¸è¢«è°ç¨æ¶ï¼ç»å®å¼è¢«å¤å¶å°äºå±é¨åé from å textãç¶å彿°ä½¿ç¨å®ä»¬è¿è¡è®¡ç®ã
è¿éè¿æä¸ä¸ªä¾åï¼æä»¬æä¸ä¸ªåé fromï¼å¹¶å°å®ä¼ éç»å½æ°ã请注æï¼å½æ°ä¼ä¿®æ¹ fromï¼ä½å¨å½æ°å¤é¨çä¸å°æ´æ¹ï¼å ä¸ºå½æ°ä¿®æ¹çæ¯å¤å¶çåéå¼å¯æ¬ï¼
function showMessage(from, text) {
 from = '*' + from + '*'; // 让 "from" çèµ·æ¥æ´ä¼é
alert( from + ': ' + text );
}
let from = "Ann";
showMessage(from, "Hello"); // *Ann*: Hello
// "from" å¼ç¸åï¼å½æ°ä¿®æ¹äºä¸ä¸ªå±é¨ç坿¬ã
alert( from ); // Ann
å½ä¸ä¸ªå¼è¢«ä½ä¸ºå½æ°åæ°ï¼parameterï¼ä¼ éæ¶ï¼å®ä¹è¢«ç§°ä¸º åæ°ï¼argumentï¼ã
æ¢ä¸ç§æ¹å¼ï¼æä»¬æè¿äºæ¯è¯ææ¸ æ¥ï¼
- åæ°ï¼parameterï¼æ¯å½æ°å£°æä¸æ¬å·å ååºçåéï¼å®æ¯å½æ°å£°ææ¶çæ¯è¯ï¼ã
- åæ°ï¼argumentï¼æ¯è°ç¨å½æ°æ¶ä¼ éç»å½æ°çå¼ï¼å®æ¯å½æ°è°ç¨æ¶çæ¯è¯ï¼ã
æä»¬å£°æå½æ°æ¶ååºå®ä»¬çåæ°ï¼parametersï¼ï¼ç¶åè°ç¨å®ä»¬ä¼ éåæ°ï¼argumentsï¼ã
å¨ä¸é¢çä¾åä¸ï¼æä»¬å¯ä»¥è¯´ï¼â彿° showMessage 被声æï¼å¹¶ä¸å¸¦æä¸¤ä¸ªåæ°ï¼parametersï¼ï¼éåå®è¢«è°ç¨ï¼ä¸¤ä¸ªåæ°ï¼argumentsï¼åå«ä¸º from å "Hello"âã
é»è®¤å¼
妿ä¸ä¸ªå½æ°è¢«è°ç¨ï¼ä½æåæ°ï¼argumentï¼æªè¢«æä¾ï¼é£ä¹ç¸åºçå¼å°±ä¼åæ undefinedã
ä¾å¦ï¼ä¹åæå°ç彿° showMessage(from, text) å¯ä»¥åªä½¿ç¨ä¸ä¸ªåæ°ï¼argumentï¼è°ç¨ï¼
showMessage("Ann");
é£ä¸æ¯é误ï¼è¿æ ·è°ç¨å°è¾åº "*Ann*: undefined"ãå ä¸ºåæ° text ç弿ªè¢«ä¼ éï¼æä»¥åæäº undefinedã
æä»¬å¯ä»¥ä½¿ç¨ = ä¸ºå½æ°å£°æä¸çåæ°æå®æè°çâé»è®¤âï¼å¦æå¯¹åºåæ°ç弿ªè¢«ä¼ éå使ç¨ï¼å¼ï¼
function showMessage(from, text = "no text given") {
alert( from + ": " + text );
}
showMessage("Ann"); // Ann: no text given
ç°å¨å¦æ text åæ°æªè¢«ä¼ éï¼å®å°ä¼å¾å°å¼ "no text given"ã
è¿é "no text given" æ¯ä¸ä¸ªå符串ï¼ä½å®å¯ä»¥æ¯æ´å¤æç表达å¼ï¼å¹¶ä¸åªä¼å¨ç¼ºå°åæ°æ¶æä¼è¢«è®¡ç®ååé
ãæä»¥ï¼è¿ä¹æ¯å¯è½çï¼
function showMessage(from, text = anotherFunction()) {
// anotherFunction() ä»
卿²¡æç»å® text æ¶æ§è¡
// å
¶è¿è¡ç»æå°æä¸º text çå¼
}
å¨ JavaScript ä¸ï¼æ¯æ¬¡å½æ°å¨æ²¡å¸¦ä¸ªå«åæ°çæ åµä¸è¢«è°ç¨ï¼é»è®¤åæ°ä¼è¢«è®¡ç®åºæ¥ã
å¨ä¸é¢çä¾åä¸ï¼å¦æä¼ éäºåæ° textï¼é£ä¹ anotherFunction() å°±ä¸ä¼è¢«è°ç¨ã
å¦ææ²¡ä¼ éåæ° textï¼é£ä¹ anotherFunction() å°±ä¼è¢«è°ç¨ã
å å¹´åï¼JavaScript 䏿¯æé»è®¤åæ°çè¯æ³ãæä»¥äººä»¬ä½¿ç¨å ¶ä»æ¹å¼æ¥è®¾ç½®é»è®¤åæ°ã
å¦ä»ï¼æä»¬ä¼å¨æ§ä»£ç ä¸çå°å®ä»¬ã
ä¾å¦ï¼æ¾å¼å°æ£æ¥ undefinedï¼
function showMessage(from, text) {
if (text === undefined) {
text = 'no text given';
}
alert( from + ": " + text );
}
â¦â¦æè
ä½¿ç¨ || è¿ç®ç¬¦ï¼
function showMessage(from, text) {
// 妿 text çå¼ä¸ºåå¼ï¼ååé
é»è®¤å¼
// è¿æ ·èµå¼ text == "" ä¸ text æ å¼ç¸å
text = text || 'no text given';
...
}
åå¤çé»è®¤åæ°
æäºæ¶åï¼å°åæ°é»è®¤å¼ç设置æ¾å¨å½æ°æ§è¡ï¼ç¸è¾æ´åæï¼è䏿¯å½æ°å£°ææ¶ï¼ä¹è¡å¾éã
æä»¬å¯ä»¥éè¿å°åæ°ä¸ undefined è¿è¡æ¯è¾ï¼æ¥æ£æ¥è¯¥åæ°æ¯å¦å¨å½æ°æ§è¡æé´è¢«ä¼ éè¿æ¥ï¼
function showMessage(text) {
// ...
if (text === undefined) { // 妿忰æªè¢«ä¼ éè¿æ¥
text = 'empty message';
}
alert(text);
}
showMessage(); // empty message
â¦â¦æè
æä»¬å¯ä»¥ä½¿ç¨ || è¿ç®ç¬¦ï¼
function showMessage(text) {
// 妿 text 为 undefined æè
为åå¼ï¼é£ä¹å°å
¶èµå¼ä¸º 'empty'
text = text || 'empty';
...
}
ç°ä»£ JavaScript å¼ææ¯æ 空å¼åå¹¶è¿ç®ç¬¦ ??ï¼å®å¨å¤§å¤æ°åå¼ï¼ä¾å¦ 0ï¼åºè¯¥è¢«è§ä¸ºâæ£å¸¸å¼âæ¶æ´å
·ä¼å¿ï¼
function showCount(count) {
// 妿 count 为 undefined æ nullï¼åæç¤º "unknown"
alert(count ?? "unknown");
}
showCount(0); // 0
showCount(null); // unknown
showCount(); // unknown
è¿åå¼
彿°å¯ä»¥å°ä¸ä¸ªå¼è¿åå°è°ç¨ä»£ç ä¸ä½ä¸ºç»æã
æç®åçä¾åæ¯å°ä¸¤ä¸ªå¼ç¸å ç彿°ï¼
function sum(a, b) {
return a + b;
}
let result = sum(1, 2);
alert( result ); // 3
æä»¤ return å¯ä»¥å¨å½æ°çä»»æä½ç½®ã彿§è¡å°è¾¾æ¶ï¼å½æ°åæ¢ï¼å¹¶å°å¼è¿åç»è°ç¨ä»£ç ï¼åé
ç»ä¸è¿°ä»£ç ä¸ç resultï¼ã
å¨ä¸ä¸ªå½æ°ä¸å¯è½ä¼åºç°å¾å¤æ¬¡ returnãä¾å¦ï¼
function checkAge(age) {
if (age >= 18) {
return true;
} else {
return confirm('Got a permission from the parents?');
}
}
let age = prompt('How old are you?', 18);
if ( checkAge(age) ) {
alert( 'Access granted' );
} else {
alert( 'Access denied' );
}
åªä½¿ç¨ return 使²¡æè¿åå¼ä¹æ¯å¯è¡çãä½è¿ä¼å¯¼è´å½æ°ç«å³éåºã
ä¾å¦ï¼
function showMovie(age) {
if ( !checkAge(age) ) {
return;
}
alert( "Showing you the movie" ); // (*)
// ...
}
å¨ä¸è¿°ä»£ç ä¸ï¼å¦æ checkAge(age) è¿å falseï¼é£ä¹ showMovie å°ä¸ä¼è¿è¡å° alertã
return ææ²¡æ return ç彿°è¿åå¼ä¸º undefined妿彿°æ è¿åå¼ï¼å®å°±ä¼åè¿å undefined 䏿 ·ï¼
function doNothing() { /* 没æä»£ç */ }
alert( doNothing() === undefined ); // true
空å¼ç return å return undefined çæï¼
function doNothing() {
return;
}
alert( doNothing() === undefined ); // true
return ä¸è¿åå¼ä¹é´æ·»å æ°è¡å¯¹äº return çé¿è¡¨è¾¾å¼ï¼å¯è½ä½ ä¼å¾æ³å°å
¶æ¾å¨åç¬ä¸è¡ï¼å¦ä¸æç¤ºï¼
return
(some + long + expression + or + whatever * f(a) + f(b))
ä½è¿ä¸è¡ï¼å 为 JavaScript é»è®¤ä¼å¨ return ä¹åå ä¸åå·ãä¸é¢è¿æ®µä»£ç åä¸é¢è¿æ®µä»£ç è¿è¡æµç¨ç¸åï¼
return;
(some + long + expression + or + whatever * f(a) + f(b))
å æ¤ï¼å®é ä¸å®çè¿åå¼åæäºç©ºå¼ã
妿æä»¬æ³è¦å°è¿åç表达å¼åæè·¨å¤è¡çå½¢å¼ï¼é£ä¹åºè¯¥å¨ return çåä¸è¡å¼å§åæ¤è¡¨è¾¾å¼ãæè
è³å°æç
§å¦ä¸çæ¹å¼æ¾ä¸å·¦æ¬å·ï¼
return (
some + long + expression
+ or +
whatever * f(a) + f(b)
)
ç¶åå®å°±è½åæä»¬é¢æ³ç飿 ·æ£å¸¸è¿è¡äºã
彿°å½å
彿°å°±æ¯è¡ä¸ºï¼actionï¼ãæä»¥å®ä»¬çååé常æ¯å¨è¯ãå®åºè¯¥ç®çä¸å°½å¯è½åç¡®å°æè¿°å½æ°çä½ç¨ãè¿æ ·è¯»ä»£ç çäººå°±è½æ¸ æ¥å°ç¥éè¿ä¸ªå½æ°çåè½ã
ä¸ç§æ®éçåæ³æ¯ç¨å¨è¯åç¼æ¥å¼å§ä¸ä¸ªå½æ°ï¼è¿ä¸ªåç¼æ¨¡ç³å°æè¿°äºè¿ä¸ªè¡ä¸ºãå¢éå é¨å¿ 须就åç¼çå«ä¹è¾¾æä¸è´ã
ä¾å¦ï¼ä»¥ "show" å¼å¤´ç彿°é叏伿¾ç¤ºæäºå
容ã
彿°ä»¥ XX å¼å§â¦â¦
"getâ¦"ââ è¿åä¸ä¸ªå¼ï¼"calcâ¦"ââ è®¡ç®æäºå 容ï¼"createâ¦"ââ å建æäºå 容ï¼"checkâ¦"ââ æ£æ¥æäºå 容并è¿å boolean å¼ï¼çã
è¿ç±»ååç示ä¾ï¼
showMessage(..) // æ¾ç¤ºä¿¡æ¯
getAge(..) // è¿å ageï¼gets it somehowï¼
calcSum(..) // è®¡ç®æ±åå¹¶è¿åç»æ
createForm(..) // å建表åï¼é常ä¼è¿åå®ï¼
checkPermission(..) // æ£æ¥æéå¹¶è¿å true/false
æäºåç¼ï¼åªéç¥ä¸ç¼å½æ°åï¼å°±å¯ä»¥äºè§£å®çåè½æ¯ä»ä¹ï¼è¿åä»ä¹æ ·çå¼ã
ä¸ä¸ªå½æ°åºè¯¥åªå å«å½æ°åææå®çåè½ï¼è䏿¯åæ´å¤ä¸å½æ°åæ å ³çåè½ã
两个ç¬ç«çè¡ä¸ºé常éè¦ä¸¤ä¸ªå½æ°ï¼å³ä½¿å®ä»¬é常被ä¸èµ·è°ç¨ï¼å¨è¿ç§æ åµä¸ï¼æä»¬å¯ä»¥å建第ä¸ä¸ªå½æ°æ¥è°ç¨è¿ä¸¤ä¸ªå½æ°ï¼ã
æå 个è¿åè¿ä¸è§åçä¾åï¼
getAgeââ 妿å®éè¿alertå° age æ¾ç¤ºåºæ¥ï¼é£å°±æé®é¢äºï¼åªåºè¯¥æ¯è·åï¼ãcreateFormââ 妿å®å å«ä¿®æ¹ææ¡£çæä½ï¼ä¾å¦åææ¡£æ·»å ä¸ä¸ªè¡¨åï¼é£å°±æé®é¢äºï¼åªåºè¯¥å建表åå¹¶è¿åï¼ãcheckPermissionââ 妿宿¾ç¤ºaccess granted/deniedæ¶æ¯ï¼é£å°±æé®é¢äºï¼åªåºæ§è¡æ£æ¥å¹¶è¿åç»æï¼ã
è¿äºä¾ååè®¾å½æ°ååç¼å ·æéç¨çå«ä¹ãä½ åä½ çå¢éå¯ä»¥èªå®ä¹è¿äºå½æ°ååç¼çå«ä¹ï¼ä½æ¯é叏齿²¡æå¤ªå¤§çä¸åãæ è®ºææ ·ï¼ä½ é½åºè¯¥å¯¹å½æ°ååç¼çå«ä¹ã带ç¹å®åç¼ç彿°å¯ä»¥åä»ä¹ä»¥åä¸å¯ä»¥åä»ä¹ææ·±å»çäºè§£ãææç¸ååç¼ç彿°é½åºè¯¥éµå®ç¸åçè§åãå¹¶ä¸ï¼å¢éæååºè¯¥å½¢æå ±è¯ã
彿° == 注é
彿°åºè¯¥ç®çä¸åªæä¸ä¸ªåè½ã妿è¿ä¸ªå½æ°åè½å¤æï¼é£ä¹æè¯¥å½æ°æåæå 个å°ç彿°æ¯å¼å¾çãææ¶åéµå¾ªè¿ä¸ªè§å并䏿¯é£ä¹å®¹æï¼ä½è¿ç»å¯¹æ¯ä»¶å¥½äºã
ä¸ä¸ªåç¬ç彿°ä¸ä» æ´å®¹ææµè¯åè°è¯ ââ å®çå卿¬èº«å°±æ¯ä¸ä¸ªå¾å¥½ç注éï¼
ä¾å¦ï¼æ¯è¾å¦ä¸ä¸¤ä¸ªå½æ° showPrimes(n)ãå®ä»¬çåè½é½æ¯è¾åºå° n ç ç´ æ°ã
第ä¸ä¸ªåä½ä½¿ç¨äºä¸ä¸ªæ ç¾ï¼
function showPrimes(n) {
nextPrime: for (let i = 2; i < n; i++) {
for (let j = 2; j < i; j++) {
if (i % j == 0) continue nextPrime;
}
alert( i ); // ä¸ä¸ªç´ æ°
}
}
第äºä¸ªåä½ä½¿ç¨éå 彿° isPrime(n) æ¥æ£éªç´ æ°ï¼
function showPrimes(n) {
for (let i = 2; i < n; i++) {
if (!isPrime(i)) continue;
alert(i); // ä¸ä¸ªç´ æ°
}
}
function isPrime(n) {
for (let i = 2; i < n; i++) {
if ( n % i == 0) return false;
}
return true;
}
第äºä¸ªå使´å®¹æçè§£ï¼ä¸æ¯åï¼æä»¬éè¿å½æ°åï¼isPrimeï¼å°±å¯ä»¥çåºå½æ°çè¡ä¸ºï¼èä¸éè¦éè¿ä»£ç ã人们é常æè¿æ ·ç代ç 称为 èªæè¿°ã
å æ¤ï¼å³ä½¿æä»¬ä¸æç®éç¨å®ä»¬ï¼ä¹å¯ä»¥åå»ºå½æ°ã彿°å¯ä»¥è®©ä»£ç ç»ææ´æ¸ æ°ï¼å¯è¯»æ§æ´å¼ºã
æ»ç»
彿°å£°ææ¹å¼å¦ä¸æç¤ºï¼
function name(parameters, delimited, by, comma) {
/* code */
}
- ä½ä¸ºåæ°ä¼ éç»å½æ°çå¼ï¼ä¼è¢«å¤å¶å°å½æ°çå±é¨åéã
- 彿°å¯ä»¥è®¿é®å¤é¨åéãä½å®åªè½ä»å å°å¤èµ·ä½ç¨ã彿°å¤é¨ç代ç çä¸å°å½æ°å çå±é¨åéã
- 彿°å¯ä»¥è¿åå¼ãå¦ææ²¡æè¿åå¼ï¼åå
¶è¿åçç»ææ¯
undefinedã
为äºä½¿ä»£ç ç®æ´ææï¼å»ºè®®å¨å½æ°ä¸ä¸»è¦ä½¿ç¨å±é¨åéååæ°ï¼è䏿¯å¤é¨åéã
ä¸ä¸è·ååæ°ä½å°ä¿®æ¹å¤é¨åéä½ä¸ºå¯ä½ç¨ç彿°ç¸æ¯ï¼è·ååæ°ã使ç¨åæ°å¹¶è¿åç»æç彿°æ´å®¹æçè§£ã
彿°å½åï¼
- 彿°ååºè¯¥æ¸ æ¥å°æè¿°å½æ°çåè½ã彿们å¨ä»£ç ä¸çå°ä¸ä¸ªå½æ°è°ç¨æ¶ï¼ä¸ä¸ªå¥½ç彿°åè½å¤è®©æä»¬é©¬ä¸ç¥éè¿ä¸ªå½æ°çåè½æ¯ä»ä¹ï¼ä¼è¿åä»ä¹ã
- ä¸ä¸ªå½æ°æ¯ä¸ä¸ªè¡ä¸ºï¼æä»¥å½æ°åé常æ¯å¨è¯ã
- ç®åæè®¸å¤ä¼ç§ç彿°ååç¼ï¼å¦
createâ¦ãshowâ¦ãgetâ¦ãcheckâ¦ççã使ç¨å®ä»¬æ¥æç¤ºå½æ°çä½ç¨å§ã
彿°æ¯èæ¬çä¸»è¦æå»ºåãç°å¨æä»¬å·²ç»ä»ç»äºåºæ¬ç¥è¯ï¼ç°å¨æä»¬å°±å¯ä»¥å¼å§å建å使ç¨å½æ°äºãä½è¿åªæ¯å¦ä¹ å使ç¨å½æ°çå¼å§ãæä»¬å°ç»§ç»å¦ä¹ æ´å¤å½æ°çç¸å ³ç¥è¯ï¼æ´æ·±å ¥å°ç ç©¶å®ä»¬çå è¿ç¹å¾ã
è¯è®º
<code>æ ç¾æå ¥åªæå 个è¯ç代ç ï¼æå ¥å¤è¡ä»£ç å¯ä»¥ä½¿ç¨<pre>æ ç¾ï¼å¯¹äºè¶ è¿ 10 è¡ç代ç ï¼å»ºè®®ä½ ä½¿ç¨æ²ç®±ï¼plnkrï¼JSBinï¼codepenâ¦ï¼