2014-09-25 71 views
0

任何人都可以請任何人解釋這裏發生了什麼?數組排序方法中的範圍

['A', 'B', 'C'].sort(function(a,b) { 
    console.log(this); // this ---> Window 
}); 

['A', 'B', 'C'].sort.bind(['A', 'B', 'C'], function(a,b) { 
    console.log(this); // this ---> Window 
})(); 

我期待'this'指向我的數組,但由於某種原因它指向了Window對象。

+2

您綁定到'sort'不回調。 – elclanrs 2014-09-25 21:35:17

回答

4

這是你在找什麼:

['A', 'B', 'C'].sort(function(a,b) { 
    console.log(this); 
}.bind(['A','B','C']));