说说掌握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 遮罩层实现(mask)实现代码
Jan 09 Javascript
Jquery为单选框checkbox绑定单击click事件
Dec 18 Javascript
js 有框架页面跳转(target)三种情况下的应用
Apr 09 Javascript
jQuery判断iframe中元素是否存在的方法
May 11 Javascript
jQuery插件简单实现方法
Jul 18 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
Jan 23 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
May 17 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
Sep 06 Javascript
AngularJS封装指令方法详解
Dec 12 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
Jan 21 Javascript
微信通过页面(H5)直接打开本地app的解决方法
Sep 09 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
Mar 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
codeigniter框架批量插入数据
2014/01/09 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
php查询操作实现投票功能
2016/05/09 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
Bootstrap中的Panel和Table全面解析
2016/06/13 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
Python类的多重继承问题深入分析
2014/11/09 Python
Python httplib模块使用实例
2015/04/11 Python
python开发之文件操作用法实例
2015/11/13 Python
Python创建xml文件示例
2017/03/22 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
村长贪污检举信
2014/04/04 职场文书
婚假请假条怎么写
2014/04/10 职场文书
欠款纠纷起诉状
2015/05/19 职场文书
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL
KVM基础命令详解
2022/04/30 Servers