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函数进行访问.maathis.am
在JavaScript中,使用this是必需的.
在Java或C++等其他语言中,使用this是可选的.如果Java/C++中没有局部变量,则会x自动解析this.x,但不会在JavaScript中解析.
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |