var a = 2;
function foo(){
console.log(this.a);
}
foo();
------ 我是分割线 ------
2015.11.28 更新:
抛出这道题的本意是好的,我承认名称起的有点装b了,但是这个不重要,重要的是,下面的回答补充的非常精彩,也是我这个问题的目的,共勉。
装逼题。真正考察一个前端的基础和内功的是 HTTP 协议,一切语言层面的东西都是表象,真正解决问题的时候就知道什么有用了。
其实我很明白你想说什么。。。 但是你的问题没有提好。。
这个题,在浏览器的环境下,就是输出2.没有其他问题,
如果是nodejs的环境,可能是2 也可能是 undefined的。
原文出处在这里。 http://f2e.souche.com/blog/a-js-problem-about-global/
不谢。
2啊,没什么问题吧,而且基本功就是指作用域和this吗。。
你的标题很吸引眼球~
既然是考验前端工程师的基础和内功,那么这道题答案是 undefined.
this = window
作为新手回答,手机没有码代码验证,如有错误感谢指正
var出的a为全局变量,foo()在全局调用,this指向全局,所以输出2。不知道对不对
我作为初级前端回答就是2。。foo在window下嘛