gpt4 book ai didi

javascript函数和this关键字,上下文

转载 作者:行者123 更新时间:2023-11-29 16:16:26 29 4
gpt4 key购买 nike

这是代码

obj = {
a: 'some value';
m: function(){
alert(this.a);
}
}

obj.m();

结果是'some value'

听说这个关键字指的是函数的所有者是obj。现在的问题是上面代码中函数的所有者是 obj 那么当函数拥有上面代码的所有者时为什么使用这个关键字很重要按照以下方式工作

obj = {
a: 'some value';
m: function(){
alert(a);
}
}

obj.m();

我知道哪个不起作用,但为什么?

最佳答案

a 在函数 m 的范围内不可用。

a 是对象 obj 的属性,只能作为 obj.athis.aobj 的上下文。

由于 obj.m()a 的上下文中执行 m,您可以访问 a 使用this.a 内部函数 m

在 JavaScript 中,必须使用 this

在 Java 或 C++ 等其他语言中,this 的使用是可选的。如果在 Java/C++ 中没有局部变量,但在 JavaScript 中没有,则 x 会自动解析为 this.x

关于javascript函数和this关键字,上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14923565/

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