Function
对象éåäºä» Object
ç»§æ¿æ¥ç toString()
æ¹æ³ï¼è没æç»§æ¿ toString
ã对äºç¨æ·å®ä¹ç Function
对象ï¼toString
æ¹æ³è¿åä¸ä¸ªå符串ï¼å
¶ä¸å
å«ç¨äºå®ä¹å½æ°çæºææ¬æ®µã
å½ Function
éè¦è¡¨ç¤ºä¸ºææ¬å¼æ¶ï¼JavaScript ä¼èªå¨è°ç¨å½æ°ç toString
æ¹æ³ï¼ä¾å¦ï¼å½æ°ä¸ä¸ä¸ªå符串è¿è¡æ¼æ¥ã
è¥ this
䏿¯ Function
对象ï¼å toString()
æ¹æ³å°æåº TypeError
å¼å¸¸ï¼"Function.prototype.toString called on incompatible object"ï¼ã
Function.prototype.toString.call("foo"); // æåº TypeError
妿å¨å
ç½®å½æ°å¯¹è±¡ä¸è°ç¨ toString()
æ¹æ³ï¼æè
å¨ç± Function.prototype.bind()
å建ç彿°ä»¥åå¨å
¶ä»é JavaScript 彿°ä¸è°ç¨ toString()
ï¼é£ä¹ toString()
å°è¿åä¸ä¸ªçèµ·æ¥åå彿°çå符串ï¼ç±»ä¼¼äºï¼
function someName() { [native code] }
对äºå
é¨å¯¹è±¡æ¹æ³å彿°ï¼someName
æ¯å½æ°çåå§åç§°ï¼å¦åå
¶å¯è½æ¯å®ç°å®ä¹ï¼implementation-definedï¼çï¼ä½å§ç»ä»¥å±æ§åç§°è¯æ³çå½¢å¼åç°ï¼å¦ï¼[1 + 1]
ãsomeName
æ 1
ã
夿³¨ï¼ è¿æå³ç对åç彿°çå符串è°ç¨ eval()
å°å§ç»äº§çè¯æ³é误ã
è¥æ¯å¨ç± Function
æé 彿°çæç彿°ä¸è°ç¨ toString()
ï¼å toString()
è¿åå建åç彿°æºç ï¼å
æ¬å½¢åå彿°ä½ï¼å½æ°å为âanonymousâãä¾å¦ï¼å¯¹äº Function("a", "b", "return a + b").toString()
ï¼åä¼è¿åï¼
function anonymous(a,b ) { return a + b }
ä» ES2018 å¼å§ï¼è§èè¦æ± toString()
çè¿åå¼ä¸å£°æçæºä»£ç å®å
¨ç¸åï¼å
æ¬ç©ºæ ¼å注éï¼æè
å æç§åå ï¼ä¸»æºæ²¡ææºä»£ç ï¼åè¦æ±è¿åä¸ä¸ªåç彿°å符串ãåè§å
¼å®¹æ§è¡¨æ ¼ä»¥æ¥è¯¢å¯¹è¿ä¸ä¿®æ¹åçè¡ä¸ºçæ¯ææ
åµã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4