javascript - 题目叫:仅用一道题考验前端工程师的基础和内功
ringa_lee
ringa_lee 2017-04-10 16:22:05
[JavaScript讨论组]
var a = 2;  
function foo(){  
    console.log(this.a);
}

foo();  

------ 我是分割线 ------

2015.11.28 更新:

抛出这道题的本意是好的,我承认名称起的有点装b了,但是这个不重要,重要的是,下面的回答补充的非常精彩,也是我这个问题的目的,共勉。

ringa_lee
ringa_lee

ringa_lee

全部回复(8)
怪我咯

其实我很明白你想说什么。。。 但是你的问题没有提好。。

这个题,在浏览器的环境下,就是输出2.没有其他问题,

如果是nodejs的环境,可能是2 也可能是 undefined的。

原文出处在这里。 http://f2e.souche.com/blog/a-js-problem-about-global/

不谢。

伊谢尔伦

装逼题。真正考察一个前端的基础和内功的是 HTTP 协议,一切语言层面的东西都是表象,真正解决问题的时候就知道什么有用了。

PHP中文网

this = window

迷茫

2啊,没什么问题吧,而且基本功就是指作用域和this吗。。

巴扎黑

你的标题很吸引眼球~

天蓬老师

我作为初级前端回答就是2。。foo在window下嘛

阿神

作为新手回答,手机没有码代码验证,如有错误感谢指正
var出的a为全局变量,foo()在全局调用,this指向全局,所以输出2。不知道对不对

PHP中文网

既然是考验前端工程师的基础和内功,那么这道题答案是 undefined.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号