2014-09-25 89 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']));