0
A
回答
2
它對性能沒有幫助。它有助於混淆。 this
自動重新分配很多。如果你想記住什麼是this
,你可以將它分配給其他東西,傳統上me
,self
或that
。或者您使用bind
。它也有助於壓縮,因爲me
可以壓縮爲單字母變量,但只有this
是神奇的,不能重命名。
3
它不會在服務表現幫助,但是當被調用的函數在不同的範圍內,你仍然有指針的預期目標
function someFunc() {
var me = this;
someElement.on("click", function() {
console.log(me);
console.log(this);
});
};
時,這是記錄在控制檯將顯示函數的調用者。在我登錄的情況下,它會顯示被點擊的元素。
0
這不是性能相關的。但是通過這種方式,它聲明瞭一個var,可以在這個「Closure」中被其他成員訪問。注意到其他成員的「這個」不是由定義上下文決定的,「this」是誰調用函數的人。相反,變體範圍總是由定義上下文決定的。
+0
更像是評論而不是回答。 – 2014-09-11 09:34:05
相關問題
- 1. 從Parse.Query分配一個對象到一個全局變量
- 2. 爲什麼這個變量在C#中通過Mono被列爲未分配的局部變量
- 3. 爲什麼python認爲這是一個局部變量?
- 4. 爲什麼這個變量作爲一個對象?
- 5. 爲什麼這個全局變量沒有被改變?
- 6. 爲什麼這個指針沒有被分配給一個新的對象?
- 7. 這個對象爲什麼被釋放?
- 8. 爲什麼這個局部變量被標記爲undefined? - 紅寶石
- 9. 角JS - 一個對象作爲變量
- 10. 分配一個對象引用變量
- 11. 爲什麼將一個IIFE分配給一個變量?
- 12. 這個實例對象爲什麼被改變?
- 13. 爲什麼一個原始變量就像一個對象?
- 14. 在java中,一個對象被認爲是一個變量?
- 15. 爲什麼方法參數重新分配給局部變量?
- 16. 將對象字段分配給局部變量有什麼優勢?
- 17. 爲什麼我不能在try塊中分配對象變量?
- 18. 爲什麼lambda對象中的局部變量是const?
- 19. 爲什麼我在這裏得到一個SIGABRT(動態分配)?
- 20. 爲什麼這個變量是在
- 21. Perl - 分配散列 - 爲什麼分配的變量被更改?
- 22. 如何將一個對象函數分配給一個變量?
- 23. 如何檢查對象是否被分配到一個整數變量
- 24. 爲什麼我必須分配一個對象並在Obj-C中設置我的實例變量=該對象?
- 25. 爲什麼JS在分配爲變量時識別DOM節點?
- 26. 在什麼時候內存被分配給C++中的一個常量變量?
- 27. 這兩個局部變量有什麼區別?
- 28. 分配對象「這個」
- 29. 爲什麼這個變量被改變了?
- 30. 分配對象屬性值到一個數組或變量
+1因爲它有助於混淆。 'var me = this'是我的寵物,而不是有人將自己的頭撞向計算機2個小時,因爲在'me!== this'的特殊情況下,他們可能會重構一些重複的代碼並減少這種方式縮小了尺寸。 – pllee 2014-09-11 17:12:35