javascript 习题推荐

为了进一步深入了解javascript,最近看javascript权威指南,但是发现看过之后很容易忘记。希望找到配套的练习可以加深记忆,能加深对一些概念的理解,不是一些实现功能的编程题。例如给一道容易混淆的代码,问最后跑出来的结果是什么?
类似这种:

function foo(x) {
    var tmp = 3;
    return function (y) {
        alert(x + y + (++tmp));
    }
}
var bar = foo(2); 
bar(10);
bar(11);

两次输出什么?
我有javascript的基础也有相关项目开发的经验,但是可能是我经验不多所以没有碰到需要深入了解javascript的状况。
希望有大神可以推荐一下,书籍网站都可以。我希望系统地去了解整个javascript而不是会用。谢谢了~

阅读 4k
6 个回答

如果我没理解错你的语意的话,你搜搜看各种前端面试题就好了,这种考察语言特性等等的问题都是面试最爱

2+10+4=16
2+11+5=18
应该吧...猜的

javascript高级程序设计 要简单一点,权威指南对于刚着手学习javascript的人来说难了些

第一次输出的是16,第二次是18.这个结构是闭包,运行bar(10)时,(++tmp)的值为4,bar(11)时,(++tmp)的值为5.因为闭包会保存变量的状态。这个建议自己去深入了解闭包的结构与原理。推荐去百度前端技术学院照着上面的项目做一次。
最后建议一定坚持看JavaScript权威指南。我也在看,一开始的确觉得枯燥无味晦涩难懂,别着急,慢慢看慢慢消化,影响是潜移默化的。反正我开始看这本书之后,真的能切切实实感受到基础变扎实的好处,学东西更快,也学得更透彻了。共勉。

从来没做过什么习题呢,那个什么权威指南也没看过, js 这门语言本来就设计得不好,在它上面花这些时间,不如去好好读读理解 SICP 这本书了,或者学学 Python , Ruby 这些动态语言。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题