怎样简单直接的理解Javascript中一些关键名词?( 二 )


说两条经验,对我这种低层次的人很管用:1. 计算机领域名词大多有一个特点:可以望文生义。作用域:理解为变量的作用范围。闭包:理解为把不属于自己的变量也闭合(包含)进来了。匿名函数:理解为没有名字的函数。原型:理解为A以B为原型。原型链:a的原型是b的构造函数B,B的原型是c的构造函数C,属性解析的机制。作用域链:函数嵌套时候作用域chain,变量解析的机制。可迭代对象:诸如列表之类的东西,没有状态。迭代器:有当前状态,有下一个状态。生成器:生成下一个状态。2. 逐行抄代码,逐句调试这是最管用的方法。前提是不要拷贝任何一个字母。你的那几道题分别是闭包(作用域链)和原型链(继承)方面的。去把高级编程相关章节读完必然懂了。要是不懂,就逐句抄代码,以我的经验,大多抄完就懂了;要是偶尔有抄完不懂的,你就一步步调试,观察作用域、原型链,到这一步,几乎都会知道作者说的什么了;要是还不懂,就重新去读。最后如果你能把代码都大致背下来了的程度却还不懂,就可以考虑换一个适合你的教材了。上以前有个JavaScript闭包方面的问题,我自以为我答的还算简洁明了,可以做一参考,如何通俗易懂的解释javascript里面的‘闭包’? - 用户的回答 。不过还是建议去读高级编程。最后有个小建议:此问题不明确,你可以把它改得具体一点。请搜索:提问的智慧
■网友
小同志,你这样很危险呐。学习要扎扎实实,不要去走捷径。我的建议就是,先啃完 《JavaScript 高级程序设计》(第三版),英文版风味更佳,把 ES3、ES5 中的内容消化掉,再看看 ES6 in depth,这就差不多了。初学者要想扎实地掌握 JS ,除了看权威和全面一点的书之外,没有捷径。在基础不扎实的情况下,去看那些水平层次不齐的网文和博客都只会扰乱你的思考,而直接去看规范又是千头万绪、细密繁琐。关于JS中this作为方法调用? - 鲁小夫的回答


推荐阅读