javascript - 当call和apply嵌套在函数中时, "this"关键字指向什么?

标签 javascript this call

// global scope

var sayMyFavoriteColor = function(adj){
    return 'My ' + adj + ' color is ' + this.favoriteColor; + '!'
};

var callFnTest = function (opts) {
  return sayMyFavoriteColor.call(this, opts);
};

this.favoriteColor = 'Brown'; //adding a global variable to window
i.e. var favoriteColor = 'Brown'

callFnTest('most disliked')
"My most disliked color is Brown"

我的问题是因为我们正在传递 this调用它是指向窗口,对吗?

最佳答案

它没有改变。仅当使用类的实例时才能使用 this 关键字。基本上,如果您调用 a.whateverFunction()a 就是 this

关于javascript - 当call和apply嵌套在函数中时, "this"关键字指向什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41618181/

相关文章:

javascript - 使用 Backbone 的事件功能捕获 <a> 超链接上的点击事件

javascript - JavaScript this 关键字是如何工作的?

javascript - 如何在 node.js 中定义泛型方法?

c - 如何使用 C 中的 .h 文件从外部 .c 文件调用函数?

ios - 使用 iOS 核心电话框架进行通话录音

parameters - 输入、输出、输入、返回 UML 中的参数方向

javascript - TypeScript setTimeout 循环传递此错误

javascript - express 和 Jade : getting a variable into JavaScript

javascript类为什么第二个参数getter在下面不起作用

backbone.js - 如何为 backbone.js View 中定义的事件引用事件上下文?