说说掌握JavaScript语言的思想前提想学习js的朋友可以看看


Posted in Javascript onApril 01, 2009

潜意识里也就不会用面向对象的思想去编写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的难度在于如何利用标签构建出结构 良好且富含语义的代码,就如写作文一样,不能认为认识几个字就自信能妙笔生花。) 

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

Javascript 相关文章推荐
javascript中动态加载js文件多种解决办法总结
Nov 15 Javascript
JavaScript实现的购物车效果可以运用在好多地方
May 09 Javascript
用原生js做个简单的滑动效果的回到顶部
Oct 15 Javascript
js实现点击添加一个input节点
Dec 05 Javascript
jQuery获取剪贴板内容的方法
Jun 16 Javascript
浅谈时钟的生成(js手写简洁代码)
Aug 20 Javascript
Html5 js实现手风琴效果
Apr 17 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
Dec 28 Javascript
Vue配合iView实现省市二级联动的示例代码
Jul 27 Javascript
angularjs $http调用接口的方式详解
Aug 13 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
JS操作JSON常用方法(10w阅读)
Dec 06 Javascript
setTimeout 不断吐食CPU的问题分析
Apr 01 #Javascript
js Flash插入函数免激活代码
Mar 31 #Javascript
响应鼠标变换表格背景或者颜色的代码
Mar 30 #Javascript
用JavaScript实现单继承和多继承的简单方法
Mar 29 #Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 #Javascript
一个tab标签切换效果代码
Mar 27 #Javascript
js onpropertychange输入框 事件获取属性
Mar 26 #Javascript
You might like
php数组的一些常见操作汇总
2011/07/17 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
jQuery AJAX应用实例总结
2020/05/19 jQuery
Python实现图片滑动式验证识别方法
2017/11/09 Python
Python Grid使用和布局详解
2018/06/30 Python
学习python可以干什么
2019/02/26 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
师范毕业生求职自荐信
2013/09/25 职场文书
中专毕业生的自我鉴定
2013/12/01 职场文书
酒店总经理助理职责
2014/02/12 职场文书
倡议书范文
2014/04/16 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
使用Pytorch训练two-head网络的操作
2021/05/28 Python
python实现股票历史数据可视化分析案例
2021/06/10 Python