javascript 的执行上下文问题
2009-07-07 23:33
344 查看
下面这段代码
var obj={
a:function(){
this.val=true;
}
};
this 应该指向a 还是指向obj? 为什么?
个人测试结果:开始指向a,执行obj.a()后this指向obj。但是不清楚为什么,请高手指教~
alert(obj.a.val); // 结果是undefined,为什么?(明明是a属于obj,this指向a嘛,为什么是undefined?)
alert(obj.val); // 结果是undefined,为什么?
obj.a(); // 执行后切换执行环境
alert(obj.val); // 结果是true,为什么?
alert(obj.a.val); // 结果是undefined,为什么?
我想这里涉及到执行上下文和作用域的问题,但是两者不是同一个概念,请高手明示~
var obj={
a:function(){
this.val=true;
}
};
this 应该指向a 还是指向obj? 为什么?
个人测试结果:开始指向a,执行obj.a()后this指向obj。但是不清楚为什么,请高手指教~
alert(obj.a.val); // 结果是undefined,为什么?(明明是a属于obj,this指向a嘛,为什么是undefined?)
alert(obj.val); // 结果是undefined,为什么?
obj.a(); // 执行后切换执行环境
alert(obj.val); // 结果是true,为什么?
alert(obj.a.val); // 结果是undefined,为什么?
我想这里涉及到执行上下文和作用域的问题,但是两者不是同一个概念,请高手明示~
相关文章推荐
- 深入理解javascript原型和闭包(8)——简述【执行上下文】上
- javascript this 和执行上下文 之大不同
- JavaScript之闭包问题以及立即执行函数
- 深入理解javascript执行上下文 下篇
- 跟我学习javascript的执行上下文
- 深入理解Javascript之执行上下文(E…
- JavaScript中的执行上下文
- 你不知道的JavaScript--Item19 执行上下文(execution context)
- 浅析javascript异步执行函数导致的变量变化问题解决思路
- [转载]深入理解JavaScript执行上下文、函数堆栈、提升的概念
- Ant 执行 YUICompressor 任务压缩 JavaScript 和 CSS 文件,解决中文乱码问题,增加源文件字符编码集设定
- QT Webkit 多线程执行 javascript 崩溃问题
- javascript作用域和执行上下文的区别
- SQL Server ->> 关于SQL Server Agent Job执行步骤时的用户上下文(User Context)问题
- JavaScript的执行上下文(与上下文不同,此点常被混淆)
- javascript执行上下文、作用域与闭包(第一篇)---执行上下文
- 笔记.javascript无法执行问题
- javascript执行上下文、作用域与闭包(第五篇)---一个例子的理解
- IE浏览器下返回执行错误的Javascript代码所在的问题(js有用)
- javascript中运用闭包和自执行函数解决大量的全局变量问题