说说掌握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 相关文章推荐
js 匿名调用实现代码
Jun 19 Javascript
js 图片等比例缩放代码
May 13 Javascript
基于jquery的loading效果实现代码
Nov 05 Javascript
禁止ajax缓存获取程序最新数据的方法
Nov 19 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
Nov 28 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
Feb 28 Javascript
jquery 插件实现瀑布流图片展示实例
Apr 03 Javascript
通过伪协议解决父页面与iframe页面通信的问题
Apr 05 Javascript
JS实现复制功能
Mar 01 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
Sep 16 Javascript
给localStorage设置一个过期时间的方法分享
Nov 06 Javascript
Node.js原生api搭建web服务器的方法步骤
Feb 15 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
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
用session做客户验证时的注意事项
2006/10/09 PHP
php判断文件上传图片格式的实例详解
2017/09/30 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
详解Vue 2.0封装axios笔记
2017/06/22 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
浅谈Vue 性能优化之深挖数组
2018/12/11 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
python判断文件夹内是否存在指定后缀文件的实例
2019/06/10 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
python实现登录与注册系统
2020/11/30 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
老海军美国官网:Old Navy
2016/09/05 全球购物
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
PHP经典面试题
2016/09/03 面试题
什么是设计模式
2012/06/17 面试题
绘画专业自荐信范文
2014/02/23 职场文书
项目投资建议书
2014/05/16 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers