不管是公司的同事仍是外界的程序员朋友们,大部分人对JavaScript的高级应用不甚了解,已有的知识架构里会认为JavaScript仅仅是一门脚本语言,其做用是给页面作一些锦上添花的效果,好比表单验证等等。潜意识里也就不会用面向对象的思想去编写JavaScript代码,也不多会去深刻了解prototype, closures等概念。这致使书写的代码常常很糟糕。 前端
对于JavaScript的学习,可能最重要的仍是要从思想上认识到JavaScript不是玩具语言。JavaScript的做用远不止增长点表单验证,咱们能够看看GMail、看看Google Maps,若是开发者们没有对JavaScript足够尊敬,是不大可能写出如此优秀的Web应用的。 程序员
JavaScript门槛很低,但门槛低并不意味着容易掌握。必定程度上,JavaScript的入门容易以及其极大的灵活性,使得要掌握 JavaScript变得很难。从纯语言上讲,我我的的经验是,学习 JavaScript比学习Java更具挑战性。咱们大多习惯了传统的面向对象表述方式,必定程度上甚至会认为类、封装、继承等概念都得像Java、 C++那样,可能都历来没想过没有class, extend, override等概念也能面向对象。JavaScript的面向对象打破了这种思想上的禁锢:世界是多样性的,条条大路通罗马。夸张一点说,深刻学习 JavaScript,更多的是一种思想上的挑战,能活跃思路,扩大视野,甚至改变对世界的见解。 架构
上面所说的这些,无心于夸大JavaScript的做用和难度。每一个人都或多或少的会强调本身所学的知识,但在这里,我但愿本身能很客观的传递一个观点:不管什么语言,想要精通,都很不容易;若是想学习某门语言,就得从思想上尊敬这门语言,在尊敬的基础上去学习,才有可能掌握这门语言的精髓。除了JavaScript,再举个HTML的例子: ide
常常能听到这样的话:HTML多容易,花个一两天也就会了。我本身也曾这么认为。但随着使用HTML经验的增加,慢慢感受到, 对于Web前端开发来讲,HTML能够说是最难的。HTML4.01规范中的91个元素就如汉字里的2500个经常使用字同样,咱们读完小学后对经常使用字应该就都认识了,但要用汉字写篇优秀的文章,却并不容易。HTML也是这样,大部分宣称HTML很容易的开发者,每每只停留在认识body, p, form, table, div, ul等标签上,对于dl, legend, sub, caption等并不是生僻的标签甚至都不认识。在经常使用字还认不全的状况下,宣称HTML很容易,真的很狂妄。(HTML的难度在于如何利用标签构建出结构 良好且富含语义的代码,就如写做文同样,不能认为认识几个字就自信能妙笔生花。) 学习
总之,语言无贵贱难易,要从思想上尊敬重视一门语言,才有可能驾驭它,不然,将永远游离在专业程序员的宝殿以外。 prototype