V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
ufologist
V2EX  ›  JavaScript

学习 JavaScript 最难点之 -- 原型/闭包

  •  
  •   ufologist · 2013-08-06 16:56:20 +08:00 · 5532 次点击
    这是一个创建于 3909 天前的主题,其中的信息可能已经有所发展或是发生改变。
    玩了这么久JavaScript, 感觉最难的就2个部分, 原型和闭包, 很有必要总结一下.
    主要是回顾下自己的理解过程是怎样的, 可能和别人的理解或者什么标准答案有出入, 完全是自己的想法, 因此请大家不要乱喷, 全当是思路而已, 没有半点误人子弟的意思.

    学习 JavaScript 最难点之一 -- 理解prototype(原型)
    http://www.douban.com/note/293217333/

    学习 JavaScript 最难点之二 -- 理解closure(闭包)
    http://www.douban.com/note/293295975/

    关于原型
    1. JS中所有的东西都是对象
    2. JS中所有的东西都由Object衍生而来, 即所有东西原型链的终点指向Object.prototype
    3. JS中构造函数和实例(对象)之间的微妙关系

    关于闭包
    真正理解了作用域也就理解了闭包.
    13 条回复    2015-09-23 18:27:30 +08:00
    emric
        1
    emric  
       2013-08-06 17:28:11 +08:00
    楼主写的很赞,对于我来说莫过于超过16个字符的DOM...
    gangsta
        2
    gangsta  
       2013-08-06 17:30:41 +08:00
    分享精神 +1

    不过为什么在豆瓣贴这种技术类的日志呢?
    豆瓣日记不支持语法高亮...看着不爽呦~
    jinwyp
        3
    jinwyp  
       2013-08-07 10:11:43 +08:00   ❤️ 1
    闭包和异步 不是一起, 循环的例子对新手更难理解
    lidashuang
        4
    lidashuang  
       2013-08-07 10:24:55 +08:00
    没高亮确实看不下去
    yeelone
        5
    yeelone  
       2013-08-07 10:33:16 +08:00
    看到没有高亮的代码我一般都直接不看了。
    豆瓣不适合这种技术贴吧
    ufologist
        6
    ufologist  
    OP
       2013-08-07 12:39:24 +08:00
    @gangsta 没有办法, 豆瓣不支持, 但是我喜欢豆瓣简约/快速的风格, 大家将就着看吧, 反正实际的代码也是需要自己来运行实践的
    ufologist
        7
    ufologist  
    OP
       2013-08-07 12:41:20 +08:00
    @jinwyp 纯属个人理解, 对于新手而言可能略显复杂了, 但也算是经典示例所以就拿出来讲讲
    ufologist
        8
    ufologist  
    OP
       2013-08-07 12:41:48 +08:00
    @lidashuang 不好意思, 让大家费神了...
    ufologist
        9
    ufologist  
    OP
       2013-08-07 12:42:37 +08:00
    @yeelone 如果直接不看也可以, 代码只是为了一步步证明而已, 重点在于自己实践
    lidashuang
        10
    lidashuang  
       2013-08-07 23:45:46 +08:00
    @ufologist 我是放到别的阅读工具里看
    ewangke
        11
    ewangke  
       2013-08-08 03:30:20 +08:00
    闭包是不是就是堆上的function,并满足作用域的条件?
    (看过一点js,一行都没写过)
    coolicer
        12
    coolicer  
       2014-05-22 09:44:19 +08:00
    又复习了一下,这次看得比较清楚。感觉原型过段时间就忘,主要还是__proto__ prototype混了
    dong3580
        13
    dong3580  
       2015-09-23 18:27:30 +08:00
    @ufologist
    在豆瓣上看到这两篇文章,写的真好,非常感谢楼主。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   858 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 788ms · UTC 21:54 · PVG 05:54 · LAX 14:54 · JFK 17:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.