说说掌握JavaScript语言的思想前提

作者:玉伯 来源:Taobao.com UED Team 时间:2008-12-26 17:59:00 

无论是公司的同事还是外界的程序员朋友们,大部分人对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的例子:

经常能听到这样的话:HTML多容易,花个一两天也就会了。我自己也曾这么认为。但随着使用HTML经验的增长,慢慢感觉到, 对于Web前端开发来说,HTML可以说是最难的。HTML4.01规范中的91个元素就如汉字里的2500个常用字一样,我们读完小学后对常用字应该就都认识了,但要用汉字写篇优秀的文章,却并不容易。HTML也是这样,大部分宣称HTML很容易的开发者,往往只停留在认识body, p, form, table, div, ul等标签上,对于dl, legend, sub, caption等并非生僻的标签甚至都不认识。在常用字还认不全的情况下,宣称HTML很容易,真的很狂妄。(HTML的难度在于如何利用标签构建出结构 良好且富含语义的代码,就如写作文一样,不能认为认识几个字就自信能妙笔生花。)

总之,语言无贵贱难易,要从思想上尊敬重视一门语言,才有可能驾驭它,否则,将永远游离在专业程序员的宝殿之外。

(注:本文已发表在程序员杂志第11期)

标签:语言,javascript,思想,编程
0
投稿

猜你喜欢

  • asp如何制作一个安全的页面?

    2010-06-29 21:22:00
  • 讲解SQL Server数据库的触发器安全隐患

    2009-01-13 14:01:00
  • 阿里妈妈广告牌制作规范

    2009-07-15 13:23:00
  • 区别Javascript中的Null与Undefined

    2007-12-13 20:24:00
  • asp如何显示最后十名来访者信息?

    2010-06-09 18:45:00
  • 提高ASP性能的最佳选择第一部分

    2007-08-15 12:31:00
  • FSO遍历文件夹目录及目录下文件asp代码

    2008-10-10 12:54:00
  • 使用 JSON 进行数据传输

    2008-06-15 07:12:00
  • 详解css定位与定位应用

    2007-05-11 16:52:00
  • Access的特点及其概念问答

    2009-09-10 19:00:00
  • 可爱动态背景输入框

    2009-05-07 13:50:00
  • 跨浏览器的inline-block[译]

    2009-03-11 21:04:00
  • ASP连接MySQL数据库代码示例

    2010-03-14 11:24:00
  • 数据安全之MySQL安全的二十三条军规

    2008-12-24 16:26:00
  • 连接无法用于执行此操作。在此上下文中它可能已被关闭或无效

    2011-03-15 23:03:00
  • 也说说语义

    2009-12-29 13:04:00
  • 用css和js实现firefox和IE支持局部打印

    2008-05-23 13:04:00
  • 2009年五一劳动节logo欣赏

    2009-05-02 18:26:00
  • 交互设计实用指南系列(12)—避免出错

    2010-04-12 13:02:00
  • 正确理解SQL Server四类数据仓库建模方法

    2008-12-23 15:20:00
  • asp之家 网络编程 m.aspxhome.com