数组排序方法内部的作用域
Scope inside array sort method
有人能解释一下这里发生了什么吗?
['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']));
相关文章:
- 正在$rootScope上达到控制器作用域$在内部控制器上
- Javascript中的内部函数作用域
- “this”和内部作用域命名函数的打字稿问题
- 内部匿名函数如何具有外部函数的作用域
- 函数内部的作用域调用函数
- 为什么全局变量没有't似乎受到内部作用域(Javascript)的影响
- 将内部作用域变量绑定到外部“模板”
- 如何访问Javascript对象内部的父作用域
- Javascript:从类内部创建全局作用域函数
- 数组排序方法内部的作用域
- 服务内部的数据更改不会更新作用域
- Angular JS控制器内部函数的作用域
- MooTools在方法和内部函数中绑定/保持类作用域
- 为什么x在内部作用域中没有定义
- 在指令控制器内部更新作用域
- 为什么我的内部内部函数可以访问外部全局作用域变量?这是不是违反了作用域/闭包
- 内部HTML作用域不起作用
- 改变ng-repeat from指令内部的作用域
- AngularJS作用域变量没有'当它在另一个函数内部发生更改时,它不会更新
- 更新作用域内部对象