Abd*_*ziq 2 javascript keyword
这是代码
obj = {
a: 'some value';
m: function(){
alert(this.a);
}
}
obj.m();
Run Code Online (Sandbox Code Playgroud)
结果是'some value'
.
我听说这个关键字引用了函数的所有者是obj
.现在的问题是上面代码中函数的所有者是obj
这样的,为什么在函数拥有所有者时使用此关键字很重要,上面的代码应该按照以下方式工作
obj = {
a: 'some value';
m: function(){
alert(a);
}
}
obj.m();
Run Code Online (Sandbox Code Playgroud)
哪个不起作用我知道但为什么?
a
在功能范围内不可用m
.
a
是对象的属性obj
仅作为和可用的obj.a
或this.a
范围内obj
.
由于在上下文中obj.m()
执行,您可以使用inside函数进行访问.m
a
a
this.a
m
在JavaScript中,使用this
是必需的.
在Java或C++等其他语言中,使用this
是可选的.如果Java/C++中没有局部变量,则会x
自动解析this.x
,但不会在JavaScript中解析.
归档时间: |
|
查看次数: |
146 次 |
最近记录: |