// const a = { // c: 1, // b: function b() { // console.log(this.c) // } // } // const c = {c: 2}; // (c.f = a.b)(); // undefined // c.f(); // 2 // a.b(); // 1 // const d = { // b() { // console.log(this) // } // } // const e = {} // e.f = d.b; // e.f(); // d.b(); // const k = { // b: () => { // console.log(this) // } // } // const j = {} // j.f = k.b; // j.f(); // k.b(); // const h = { // b() { // console.log(this) // } // } // const i = {} // i.f = h.b.bind(h); // i.f(); // h.b(); /* 1. ç± new è°ç¨ï¼ç»å®å°æ°å建ç对象ã 2. æ¾å¼ç»å®ï¼ç± call æè applyï¼æè bindï¼è°ç¨ï¼ç»å®å°æå®ç对象ã 3. éå¼ç»å®ç±ä¸ä¸æå¯¹è±¡è°ç¨ï¼ç»å®å°é£ä¸ªä¸ä¸æå¯¹è±¡ã 4. é»è®¤ï¼å¨ä¸¥æ ¼æ¨¡å¼ä¸ç»å®å° undefinedï¼å¦åç»å®å°å ¨å±å¯¹è±¡ã 5. ç®å¤´å½æ°æ ¹æ®å½åçè¯æ³ä½ç¨åæ¥å³å® thisï¼å ·ä½æ¥è¯´ï¼ç®å¤´å½æ°ä¼ç»§æ¿å¤å±å½æ°è°ç¨ç this ç»å®ï¼æ 论 this ç»å®å°ä»ä¹ï¼ã è¿å ¶å®å ES6 ä¹å代ç ä¸ç self = this æºå¶ä¸æ ·ã */