gpt4 book ai didi

javascript - 文字对象中的嵌套函数

转载 作者:数据小太阳 更新时间:2023-10-29 05:03:17 25 4
gpt4 key购买 nike

如果在文字对象中我尝试在嵌套属性/函数中使用“this”来引用函数,则这不起作用。为什么?嵌套属性有自己的范围?

例如,我想从 d.f2 内部调用 f1:

var object = {    

a: "Var a",
b: "Var b",
c: "Var c",

f1: function() {
alert("This is f1");
},

d: {
f2: function() {
this.f1();
}
},

e: {
f3: function() {
alert("This is f3");
}
}
}

对象.f1();//工作
对象.d.f2();//不工作。对象.e.f3();//工作

谢谢,安德里亚。

最佳答案

this 指的是 f2 中的 d 而不是 object。您可以存储对对象的引用,或直接调用 object,或使用 call/apply 调用函数并明确告诉它什么 this 表示在该函数内部:

object.d.f2.call(object); // now this refers to object inside f2

关于javascript - 文字对象中的嵌套函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2661867/

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