美文网首页
《你不知道的 JavaScript》读后感

《你不知道的 JavaScript》读后感

作者: ltaoo | 来源:发表于2017-02-07 16:43 被阅读80次

    《你不知道的 JavaScript》读后感

    看完后,对于 JavaScript 的理解肯定是增加了一些,但更多的是在“学习”方面有了更深刻的认知,学习到如何“学习”。

    举个栗子

    在 p27 提到

    (function foo(){ .. }) 作为函数表达式意味着foo 只能在.. 所代表的位置中被访问,外部作用域则不行。foo 变量名被隐藏在自身中意味着不会非必要地污染外部作用域。

    看到的时候就觉得很奇怪,函数名只能在自身作用域访问到,那这个函数名还有什么意义,重点是为什么在外部作用域无法被访问到?

    于是写了这么一段代码想要测试()是否会产生作用域导致无法在外部访问(虽然明知道不可能...):

    ;(var a = 1)
    console.log(a)
    

    但是报错很意外:

    ;(var a = 1)
      ^^^
    SyntaxError: Unexpected token var
    

    到这里就发现,自己对于()有什么作用的知识点完全不了解。在了解到()可以用来强制表达式执行后,又产生了对 IIFE 的一个疑问,如果 IIFE 是“声明一个函数并立即调用”,那下面的代码为什么不行?

    function () {
        console.log('hello iife')
    }()
    

    为什么在最外层加上()就可以了,既然()是用来强制表达式执行,表示内部首先是一个表达式,表达式也可以直接运行的吧。

    虽然在继续阅读书的过程中解开了这个疑惑,但我的第一篇博客就是写的关于 IIFE,却发现自己对于 IIFE 这么不了解,实在汗颜。

    舒适区与一万小时定律

    在 p77 页关于this的知识点时提到了“舒适区”这个概念,字面意思就是让自己感到舒适的区域。长时间待在舒适区,并不会让自己的能力有多大提升。而“一万小时定律”是指:

    要成为某个领域的专家,需要10000小时,按比例计算就是:如果每天工作八个小时,一周工作五天,那么成为一个领域的专家至少需要五年。这就是一万小时定律。

    如果将两者结合起来思考,在舒适区内的 10000 小时,也能够让人成为专家吗?

    刻意练习

    我觉得是不能的,因为经过实践证明。。。每天涂涂画画自己学会的简笔画,并不会让自己成为顶尖的画师。当然这么说很极端,不过跳出舒适区,刻意去让自己处于“头疼”的境地,绝对比待在舒适区享受成就感要更好。

    var a, b, c;
    

    这样声明变量很常见,自己也会写,但是为什么可以这样声明呢?,的作用又是什么?

    刻意练习,或者说深究原理吧,才能让自己有更强的竞争力。

    就好像这本书,同样是一个知识点,为什么别人就能够说出这么多自己不知道的地方呢?

    是吧?。

    参考

    相关文章

      网友评论

          本文标题:《你不知道的 JavaScript》读后感

          本文链接:https://www.haomeiwen.com/subject/irjeittx.html