说说掌握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 查找新建元素代码
Jul 06 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
Mar 26 Javascript
JavaScript学习心得之概述
Jan 20 Javascript
Javascript OOP之面向对象
Jul 31 Javascript
使用 bootstrap modal遇到的问题小结
Nov 09 Javascript
JS基于贪心算法解决背包问题示例
Nov 27 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
Mar 01 Javascript
利用vue和element-ui设置表格内容分页的实例
Mar 02 Javascript
Vue 莹石摄像头直播视频实例代码
Aug 31 Javascript
深入理解 Koa 框架中间件原理
Oct 18 Javascript
vue-resourc发起异步请求的方法
Feb 11 Javascript
JS常用排序方法实例代码解析
Mar 03 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
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
深入浅出php socket编程
2015/05/13 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
利用PHP判断文件是否为图片的方法总结
2017/01/06 PHP
jQuery textarea的长度进行验证
2009/05/06 Javascript
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
详解AngularJS 过滤器的使用
2018/06/02 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
python生成验证码图片代码分享
2016/01/28 Python
python实现数据写入excel表格
2018/03/25 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
Python sorted对list和dict排序
2020/06/09 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
pandas实现导出数据的四种方式
2020/12/13 Python
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
C#面试常见问题
2013/02/25 面试题
五年级科学教学反思
2014/02/05 职场文书
文秘求职信范文
2014/04/10 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
批评与自我批评发言稿
2014/10/15 职场文书
运动会主持词大全
2015/07/02 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫