说说掌握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 相关文章推荐
JavaScript 计算当天是本年本月的第几周
Mar 22 Javascript
jQuery表单验证插件formValidator(改进版)
Feb 03 Javascript
JavaScript 用cloneNode方法克隆节点的代码
Oct 15 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
Jun 30 Javascript
上传图片js判断图片尺寸和格式兼容IE
Sep 01 Javascript
JavaScript数组各种常见用法实例分析
Aug 04 Javascript
js实现不提交表单获取单选按钮值的方法
Aug 21 Javascript
jquery validate demo 基础
Oct 29 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
Jan 26 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
May 30 Javascript
VueJS 取得 URL 参数值的方法
Jul 19 Javascript
vue中echarts引入中国地图的案例
Jul 28 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
Cannot modify header information错误解决方法
2008/10/08 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
2012/12/06 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
js 学习笔记(三)
2009/12/29 Javascript
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
原生javascript实现的ajax异步封装功能示例
2016/11/03 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
JS中的多态实例详解
2017/10/15 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
Javascript通过控制类名更改样式
2019/05/24 Javascript
vue实现侧边栏导航效果
2019/10/21 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python heapq使用详解及实例代码
2017/01/25 Python
使用Python对SQLite数据库操作
2017/04/06 Python
django中send_mail功能实现详解
2018/02/06 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
安全生产网格化管理实施方案
2014/03/01 职场文书
聚美优品励志广告词
2014/03/14 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
卖房协议书样本
2014/10/30 职场文书
五年级数学教学反思
2016/02/16 职场文书
JavaScript组合继承详解
2021/11/07 Javascript
SONY AN-LP1 短波有源天线放大器图
2022/04/05 无线电
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS