数组排序方法内部的作用域

Scope inside array sort method

本文关键字:作用域 内部 方法 数组排序      更新时间:2023-09-26

有人能解释一下这里发生了什么吗?

['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对象。

这就是您想要的:

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