说说掌握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 相关文章推荐
最新优化收藏到网摘代码(digg,diigo)
Feb 07 Javascript
用 Javascript 验证表单(form)中多选框(checkbox)值
Sep 08 Javascript
JQuery获取表格数据示例代码
May 26 Javascript
javascript使用appendChild追加节点实例
Jan 12 Javascript
jQuery取消ajax请求的方法
Jun 09 Javascript
Angular Module声明和获取重载实例代码
Sep 14 Javascript
js实现动态显示时间效果
Mar 06 Javascript
Javascript封装id、class与元素选择器方法示例
Mar 13 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
May 17 Javascript
vue-router 源码实现前端路由的两种方式
Jul 02 Javascript
老生常谈JS中的继承及实现代码
Jul 06 Javascript
详解微信小程序开发(项目从零开始)
Jun 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
Linux操作系统安装LAMP环境
2015/06/26 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
利用js对象弹出一个层
2008/03/26 Javascript
JQuery教学之性能优化
2014/05/14 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
Python编程实现的简单Web服务器示例
2017/06/22 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
python实现电子产品商店
2019/02/26 Python
python3多线程知识点总结
2019/09/26 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
美国滑板店:Tactics
2020/11/08 全球购物
护理专业本科生自荐信
2013/10/01 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
财务会计自荐信范文
2014/02/21 职场文书
大家访活动实施方案
2014/03/10 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
初三毕业评语
2014/12/26 职场文书
个人政治思想总结
2015/03/05 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
维护民族团结心得体会2016
2016/01/15 职场文书
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers