说说掌握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的25个步骤 千倍级效率提升
Feb 11 Javascript
JavaScript 滚轮事件使用说明
Mar 07 Javascript
利用location.hash实现跨域iframe自适应
May 04 Javascript
javascript版2048小游戏
Mar 18 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
js事件冒泡与事件捕获详解
Feb 20 Javascript
vue 粒子特效的示例代码
Sep 19 Javascript
JavaScript实用代码小技巧
Aug 23 Javascript
微信小程序scroll-view的滚动条设置实现
Mar 02 Javascript
ES6箭头函数和扩展实例分析
May 23 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
Jul 24 Javascript
ES6中的类(Class)示例详解
Dec 09 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与XML的PDF文档生成技术
2006/10/09 PHP
一个域名查询的程序
2006/10/09 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
PHP标准库 (SPL)――Countable用法示例
2020/06/05 PHP
javascript 打印页面代码
2009/03/24 Javascript
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
js中各浏览器中鼠标按键值的差异
2011/04/07 Javascript
js中有关IE版本检测
2012/01/04 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
2013/07/08 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
编程语言JavaScript简介
2014/10/16 Javascript
如何减少浏览器的reflow和repaint
2015/02/26 Javascript
js实现图片无缝滚动
2015/12/23 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
Python中的类与对象之描述符详解
2015/03/27 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
python中的tcp示例详解
2018/12/09 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
python实现随机加减法生成器
2020/02/24 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
详解Python中的Lock和Rlock
2021/01/26 Python
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
查询优化的一般准则有哪些
2015/03/08 面试题
党员先进性教育整改措施
2014/09/18 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书