说说掌握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 相关文章推荐
jquery.AutoComplete.js中文修正版(支持firefox)
Apr 09 Javascript
jquery中通过过滤器获取表单元素的实现代码
Jul 05 Javascript
Jquery使用val方法读写value值
May 18 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 Javascript
js中对函数设置默认参数值的3种方法
Oct 23 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
js传值后台中文出现乱码的解决方法
Jun 30 Javascript
js返回顶部实例分享
Dec 21 Javascript
Vue.js最佳实践(五招助你成为vuejs大师)
May 04 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
Aug 09 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
Jan 18 jQuery
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
Apr 13 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
python实现每次处理一个字符的三种方法
2014/10/09 Python
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
市政施工员自我鉴定
2014/01/15 职场文书
2014年自愿离婚协议书范本
2014/09/25 职场文书
狂人日记读书笔记
2015/06/30 职场文书
2015年工商局个人工作总结
2015/07/23 职场文书
快速学习Oracle触发器和游标
2021/06/30 Oracle
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript
Python必备技巧之字符数据操作详解
2022/03/23 Python