Functionï¼length
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
Function å®ä¾ç length æ°æ®å±æ§è¡¨ç¤ºå½æ°ææçåæ°æ°éã
å°è¯ä¸ä¸
function func1() {}
function func2(a, b) {}
console.log(func1.length);
// Expected output: 0
console.log(func2.length);
// Expected output: 2
å¼
ä¸ä¸ªæ°åã
Functionï¼length ç屿§ç¹æ§ | |
|---|---|
| å¯å | å¦ |
| 坿䏾 | å¦ |
| å¯é ç½® | æ¯ |
æè¿°
ä¸ä¸ª Function 对象ç length 屿§è¡¨ç¤ºå½æ°ææçåæ°ä¸ªæ°ï¼å³å½¢åç个æ°ãè¿ä¸ªæ°åä¸å
æ¬å©ä½åæ°ï¼åªå
æ¬å¨ç¬¬ä¸ä¸ªå
·æé»è®¤å¼çåæ°ä¹åçåæ°ãç¸æ¯ä¹ä¸ï¼arguments.length æ¯å±éäºå½æ°å
é¨çï¼å®æä¾äºå®é
ä¼ éç»å½æ°çåæ°ä¸ªæ°ã
Function æé 彿°æ¬èº«å°±æ¯ä¸ä¸ª Function 对象ãå®ç length æ°æ®å±æ§çå¼ä¸º 1ã
ç±äºåå²åå ï¼Function.prototype æ¬èº«æ¯å¯è°ç¨çãFunction.prototype ç length 屿§çå¼ä¸º 0ã
示ä¾
>ä½¿ç¨ function length
js
console.log(Function.length); // 1
console.log((() => {}).length); // 0
console.log(((a) => {}).length); // 1
console.log(((a, b) => {}).length); // 2ï¼ä¾æ¤ç±»æ¨
console.log(((...args) => {}).length);
// 0ï¼å©ä½åæ°ä¸è®¡ç®å¨å
console.log(((a, b = 1, c) => {}).length);
// 1ï¼åªè®¡ç®ç¬¬ä¸ä¸ªå
·æé»è®¤å¼çåæ°ä¹åçåæ°
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-function-instances-length> |