æ£æ¥è¯æ³
è¿æ®µä»£ç çç»ææ¯ä»ä¹ï¼
let user = {
name: "John",
go: function() { alert(this.name) }
}
(user.go)()
æç¤ºï¼æä¸ä¸ªé·é±å¦ :)
é误!
è¯ä¸ä¸ï¼
let user = {
name: "John",
go: function() { alert(this.name) }
}
(user.go)() // error!
大夿°æµè§å¨ä¸çé误信æ¯å¹¶ä¸è½è¯´ææ¯ä»ä¹åºç°äºé®é¢ã
åºç°æ¤é误æ¯å ä¸ºå¨ user = {...} å颿¼äºä¸ä¸ªåå·ã
JavaScript ä¸ä¼å¨æ¬å· (user.go)() åèªå¨æå
¥åå·ï¼æä»¥è§£æç代ç å¦ä¸ï¼
let user = { go:... }(user.go)()
ç¶åæä»¬è¿å¯ä»¥çå°ï¼è¿æ ·çèå表达å¼å¨è¯æ³ä¸æ¯å°å¯¹è±¡ { go: ... } ä½ä¸ºåæ°ä¸º (user.go) ç彿°ãè¿åçå¨ let user çåä¸è¡ä¸ï¼å æ¤ user 对象æ¯çè³è¿æ²¡æè¢«å®ä¹ï¼å æ¤åºç°äºé误ã
妿æä»¬æå ¥è¯¥åå·ï¼ä¸åé½å徿£å¸¸ï¼
let user = {
name: "John",
go: function() { alert(this.name) }
};
(user.go)() // John
è¦æ³¨æçæ¯ï¼(user.go) å¤è¾¹è¿å±æ¬å·å¨è¿æ²¡æä»»ä½ä½ç¨ãé常ç¨å®ä»¬æ¥è®¾ç½®æä½ç顺åºï¼ä½å¨è¿éç¹ç¬¦å· . æ»æ¯ä¼å
æ§è¡ï¼æä»¥å¹¶æ²¡æä»ä¹å½±åãåå·æ¯å¯ä¸éè¦çã