gpt4 book ai didi

javascript - "this"在函数的调用语句中作为另一个函数的方法引用什么

转载 作者:行者123 更新时间:2023-11-28 19:44:21 24 4
gpt4 key购买 nike

如果我看到带有这样的构造函数的代码:

function F(){}
F.prototype.k = "v";

function F2(){
F.call(this);
}

这里的“这个”指的是什么?我有点迷失了。是F2还是F?

最佳答案

任何函数中的

this 都是由函数的调用方式决定的,并且您没有显示 F2() 是如何调用的,但是这段代码正在做的是说无论 F2 中的 this 设置为何,在执行 F() 时对 this 使用相同的值。

  1. 如果像 F2() 一样调用 F2(),则 this 将是全局对象 (window(在浏览器中)或未定义(如果在严格模式下运行)。

  2. 如果 F2 的调用方式如下:

    var obj = new F2();

    然后,this 将被设置为新创建的 F2 实例。

  3. F2.apply(x)F2.call(x) 方法可以确定 this 将设置为什么根据您作为第一个参数传递的内容在给定函数中。

  4. 如果它是 obj.method() 中的方法调用,则 this 将设置为 obj

关于javascript - "this"在函数的调用语句中作为另一个函数的方法引用什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24542331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com