(转载)javaScript三部曲

[b]1:javascript的基础知识[/b]
知道基本的编程语法,比如循环,判断,try/catch等等 * 理解包括多种函数定义以及赋值的方式,包括匿名函数
理解基本的命名空间,全局(window)空间以及对象空间(不包括闭包)
理解上下文的角色以及this变量的使用 * 理解各种对象以及函数的初始化和声明方式
理解javascript比较操作符,如<, >, ==, ===,以及对象和字符串比较的原理和对象映射 * 理解对象属性和函数的数组索引,以及这和真实的数组之间的区别。

[b]2:javascript中级知识[/b]
* 理解定时器,以及它的工作原理,包括何时以及如何使用定时器来异步执行方法调用

关于回调的深度支持,以及如何通过call和apply方法来控制上下文和函数参数传递
理解JSON标记以及eval函数 * 理解闭包以及他们如何影响你的代码效率
AJAX以及对象序列化

[b]3:javascript高级知识点[/b]

理解方法的”arguments’变量,包括如何使用它来通过arguments.length重载函数,以及通过arguments.callee来进行递归调用,需要注意使用这个特性有一定的危险性,因为ECMAScript 5 的Strict模式不支持此功能,但jQuery和Dojo都用到了它。
高级闭包比如 self-memoizing函数,partially applied函数,以及最可爱的 (function(){})()调用。
函数以及HTML prototype,prototype chain,以及如何使用基本的javascript对象和函数(比如Array)来简化代码。
对象类型以及instanceof的使用 * 正则表达式和表达式编译
With语句以及为什么不要使用它们 * 最困难的部分,知道如果利用所有这些工具,并产生处干净,整洁,健壮,快速,可维护以及兼容不同浏览器的代码。
这里的最后一点特别重要并且也是最难实现的,因为javascript天生不够严格的语法, 你的程序很容易就会变成意大利面条式的难以维护的灾难代码,一旦你开始学习javascript语言本身, 你只能通过在大型的Web程序中不断实践才能真正掌握它,这可能要花好几年的时间, 并且你没法从书本上学到这些,我自己每天使用javascript好几小时,已经好几年了, 但我还是在不断寻找更好的方式来编写和重构我的代码,出于这个原因,一开始就使用jQuery这样的框架会很危险, 它会很容易让你的代码变得不可维护,Dojo的Class和Package系统则多少会帮上点忙。

考虑到javascript现在已经通过Node.js这样的项目渗透到了后端,我决定将和Web相关的部分单独拉出来讲讲, 也就是说,如果你想要在Web开发中使用javascript,那么下面这些就是每一个优秀程序员都应该了解的:

如何高效的操作Dom(添加,删除以及更新),还有如何通过使用document fragments这样的工具来最小化浏览器的re-flows。
夸浏览器的DOM元素属性提取(比如,style,position等等),jQuery和Dojo都可以很好的完成这些工作,尽管如此,理解从CSS和style标签中提取属性的差异,以及如何计算position和size还是很重要的。
夸浏览器的事件处理,绑定,反绑定,冒泡,以及如何取得期望的回调上下文。在一次,现成的框架也可以很好的处理这些事情,但是你应该对IE浏览器和W3C标准浏览器之间的不同有所了解。
正则表达式选取DOM节点 * 浏览器功能检测以及智能降级
就像你从上面的列表中看到的,对于javascript,除了alert(myval)或者myBtn.οnclick=…, 你还需要了解更多东西,这些都是粘贴复制无法学到的,只有通过阅读和练习, 你才能成为一名真正的javascript程序员。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值