JS编程注意事项整理
^^^^^^^^^^^^^^^^^^
- 授权: 共同创作2.0
- 作者: trydofor
本文使用了[[a9text => http://a9text.sf.net]]格式.
目标读者为,对JS有较深理解的人群.
0. 目录
^^^^^^^
[[<=$INDEX]]
1. 尽量使用标准
^^^^^^^^^^^^^^^
什么是标准,当然不是M$,回顾javascript的历史,可以知道js本身就是一团糟.
所以标准也成问题,但是基本上Ecma-262(http://www.ecma-international.org/publications/standards/Ecma-262.htm)
还是公认的标准啦 :)
2. 不要为了OO而OO
^^^^^^^^^^^^^^^^^
js本身是很淳朴的语言,设计的时候,就是面向过程的,无奈在OO狂潮下,
勉强基于对象了,不过是模拟的,这点,大家在prepotype上可以看到.
我喜欢称这些叫function,因此我写的代码中都是function,没使用prepotype
这种方式来声明.
我建议的方式是,全写function,这样是私有的,互相调用简单,而且问题较少.
需要public的,直接使用this.xxx=xxx的赋值形式.
能复用的方法,尽量复用这,才是OO的根本.
3. 少用this
^^^^^^^^^^^^
js中的this,是和运行时紧密联系的,开发和运行的时候,都很麻烦.
但似乎,目前流行的框架中到处可见this,apply等,可能是我不太专业.
但为初学者将一句,this真的很令人费解,他在很多时候,可以使用其他方法贯通.
一段优秀的代码,好用是基本要求,关键要易读易维护,君子留路后人走.
4. 少用继承
^^^^^^^^^^^
继承的好处自然很多,但JS不太适合,个人建议使用Delegate模式来实现.
这样代码使用起来比较清晰和轻便.没有什么理由来说继承有什么不好,
或许是个人习惯.
5. 封装你的代码
^^^^^^^^^^^^^^^
封装是OO范畴的,在js范畴,我的定义是,局部变量不要外泄,请习惯性的使用var声明变量.
可重用的代码,放到一个function内,使用的时候new一下吧.
6. 少用异步
^^^^^^^^^^^
AJAX在一定范围内的异步能够得到很好的体验.
但如果过多了,开发人员就头大了.
7. 珍爱生命,远离JS
^^^^^^^^^^^^^^^^^^
这点是扯淡,只是js开发真的是很痛苦的,而且薪资不高.
如果可以的话,尽量找棵大的编程语言作为你糊口的饭碗吧 ^_^
^^^^^^^^^^^^^^^^^^
- 授权: 共同创作2.0
- 作者: trydofor
本文使用了[[a9text => http://a9text.sf.net]]格式.
目标读者为,对JS有较深理解的人群.
0. 目录
^^^^^^^
[[<=$INDEX]]
1. 尽量使用标准
^^^^^^^^^^^^^^^
什么是标准,当然不是M$,回顾javascript的历史,可以知道js本身就是一团糟.
所以标准也成问题,但是基本上Ecma-262(http://www.ecma-international.org/publications/standards/Ecma-262.htm)
还是公认的标准啦 :)
2. 不要为了OO而OO
^^^^^^^^^^^^^^^^^
js本身是很淳朴的语言,设计的时候,就是面向过程的,无奈在OO狂潮下,
勉强基于对象了,不过是模拟的,这点,大家在prepotype上可以看到.
我喜欢称这些叫function,因此我写的代码中都是function,没使用prepotype
这种方式来声明.
我建议的方式是,全写function,这样是私有的,互相调用简单,而且问题较少.
需要public的,直接使用this.xxx=xxx的赋值形式.
能复用的方法,尽量复用这,才是OO的根本.
3. 少用this
^^^^^^^^^^^^
js中的this,是和运行时紧密联系的,开发和运行的时候,都很麻烦.
但似乎,目前流行的框架中到处可见this,apply等,可能是我不太专业.
但为初学者将一句,this真的很令人费解,他在很多时候,可以使用其他方法贯通.
一段优秀的代码,好用是基本要求,关键要易读易维护,君子留路后人走.
4. 少用继承
^^^^^^^^^^^
继承的好处自然很多,但JS不太适合,个人建议使用Delegate模式来实现.
这样代码使用起来比较清晰和轻便.没有什么理由来说继承有什么不好,
或许是个人习惯.
5. 封装你的代码
^^^^^^^^^^^^^^^
封装是OO范畴的,在js范畴,我的定义是,局部变量不要外泄,请习惯性的使用var声明变量.
可重用的代码,放到一个function内,使用的时候new一下吧.
6. 少用异步
^^^^^^^^^^^
AJAX在一定范围内的异步能够得到很好的体验.
但如果过多了,开发人员就头大了.
7. 珍爱生命,远离JS
^^^^^^^^^^^^^^^^^^
这点是扯淡,只是js开发真的是很痛苦的,而且薪资不高.
如果可以的话,尽量找棵大的编程语言作为你糊口的饭碗吧 ^_^