return
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
return è¯å¥ç¨äºç»æ¢å½æ°æ§è¡ï¼å¹¶æå®è¦è¿åç»è°ç¨å½æ°çå¼ã
å°è¯ä¸ä¸
function getRectArea(width, height) {
if (width > 0 && height > 0) {
return width * height;
}
return 0;
}
console.log(getRectArea(3, 4));
// Expected output: 12
console.log(getRectArea(-3, 4));
// Expected output: 0
è¯æ³
return;
return expression;
expressionå¯é-
å¾ è¿åå ¶å¼ç表达å¼ã妿çç¥ï¼åè¿å
undefinedã
æè¿°
return è¯å¥åªè½å¨å½æ°ä½å
使ç¨ãå½ return åºç°å¨å½æ°ä½å
鍿¶ï¼è¯¥å½æ°çæ§è¡å°ä¼åæ¢ãreturn è¯å¥å¨ä¸åç±»åç彿°ä¸å
·æä¸åçææï¼
- 卿®é彿°ä¸ï¼å¯¹è¯¥å½æ°çè°ç¨ä¼è¿åå ¶è¿åå¼ã
- å¨å¼æ¥å½æ°ä¸ï¼çæç promise å°ä»¥è¿åç弿²å®ã
- å¨çæå¨å½æ°ä¸ï¼çæççæå¨å¯¹è±¡ç
next()æ¹æ³å°è¿å{ done: true, value: è¿åçå¼ }ã - å¨å¼æ¥çæå¨å½æ°ä¸ï¼çæç弿¥çæå¨å¯¹è±¡ç
next()æ¹æ³è¿åä¸ä¸ªå·²å ç°ç promiseï¼å ¶å¼ä¸º{ done: true, value: è¿åçå¼ }ã
å¦æå¨ try åå
æ§è¡äº return è¯å¥ï¼å®ä¼é¦å
æ§è¡ finally åç¶åæå®é
è¿åå¼ï¼å¦æåå¨ï¼ã
èªå¨åå·è¡¥å ¨
è¯æ³ç¦æ¢å¨ return å
³é®ååè¦è¿åç表达å¼ä¹é´ä½¿ç¨æ¢è¡ç¬¦ã
return
a + b;
ä¸è¿°ä»£ç ä¼è¢«èªå¨åå·è¡¥å ¨ï¼ASIï¼è½¬æ¢ä¸ºï¼
return;
a + b;
è¿ä¼ä½¿å½æ°è¿å undefinedï¼è a + b è¡¨è¾¾å¼æ°¸è¿ä¸ä¼è¢«è®¡ç®ãè¿å¯è½ä¼å¨æ§å¶å°ä¸çæè¦åã
为é¿å æ¤é®é¢ï¼é²æ¢ ASIï¼ï¼ä½ å¯ä»¥ä½¿ç¨æ¬å·ï¼
return (
a + b
);
示ä¾
>䏿彿°
彿°å¨è°ç¨ return æ¶ç«å³åæ¢æ§è¡ã
function counter() {
// æ é循ç¯
for (let count = 1; ; count++) {
console.log(`${count}A`); // ç´å° 5 为æ¢
if (count === 5) {
return;
}
console.log(`${count}B`); // ç´å° 4 为æ¢
}
console.log(`${count}C`); // ä»ä¸åºç°
}
counter();
// è¾åºï¼
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A
è¿åä¸ä¸ªå½æ°
请åé æå ³éå çæç« ã
function magic() {
return function calc(x) {
return x * 42;
};
}
const answer = magic();
answer(1337); // 56154
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification > # sec-return-statement > |