1、先來看乙個例子吧:(輸出什麼呢?)
var foo=,
b:()=>
}foo.foo(); foo.b();
答:foo.foo()//foo;
foo.b()//window;
第乙個foo.foo()是普通函式的執行,裡面的this指向呼叫foo函式的物件foo,那麼第二個為什麼是window呢?我開始是很不能 理解的,不是this指向定義時所在的物件嗎?其實我覺得這句話解釋的不是很準確,記住下面這句話才是最重要的,
this
指向的固定化,並不是因為箭頭函式內部有繫結this
的機制,實際原因是箭頭函式根本沒有自己的this
,導致內部的this
就是外層**塊的this。
所以在這裡箭頭函式內的this實際上是foo物件中的this。不懂什麼意思,看下面這個**塊兒:
var foo=;
a();
},b:()=>
}foo.foo();
foo.b();
abs繫結了foo物件的this,這裡foo是個全域性變數,裡面的this也是指向window。所以結果為:window、foo、window;
a箭頭函式的this就是foo()函式的this。b箭頭函式的this就是foo物件中的this
文章列表空著不太好看
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...
2023年,我真的不太好!!!
說起自己的2019,真是完全的跌落谷底。失業,對於我乙個80後,真是完全的找不到北。在乙個上有老下有小的年紀裡,突然的失去一切的經濟 完全的懵逼。這第一方面 歲數太大,我已經38了,對於乙個在it界仍然打拼在一線的人員來說,真的好像到了冬天。好多公司一看這小伙都已經這麼大了,竟然還在一線混,肯定是能...
ACM搞得不太好,還有必要嗎?
標題,正文 問題 如果搞acm搞得不太好,就是網路賽出不了線的話,還有必要搞acm嗎?是不是應該重新給自己定位,學點實用的技術比較好?回答 上高中,就是要考大學 上大學,以找到工作,或者上了研究生為目標。我們將成長過程忽略過去了。搞acm,不想著出線 獲獎,是不對的。但你也應該請楚,這只是其中的一部...