我们一起好好写js代码

一、如果是整站,那就要规划好了,是用传统的jQuery,还是用现在不算是新知识在大公司普及了的gulp+seajs之类的打包工具开发,当然了,如果你们公司考虑用angular.js之类的,那是做大项目了二、先考虑静态页面三、由简入繁,一上来不要想着写一个大胖子,错了,是吃个大胖子四、遵循一定的代码规范五、基本上渡过了一个阶段之后,一个合格的前端应该不要过于纠结于知识点这个层面了,更多的是考虑代码的逻辑,当然了,代码的逻辑是根据产品的逻辑来的,有的需求你必须用ajax,有的产品你用一点点的DOM,主要考虑CSS3效果就够了六、等到到达一个层次之后,最后考虑的是,我的功能能写会写,那我能不能把我的代码写得优雅一点呢?认识的三四年以上的做技术的交流一般都会有这种想法,这时候,可以考虑考虑深入学习一点面向对象和设计模式的知识了,因为我们知道JS一开始就不是完美的语言,所以存在各种各样的坑,我们必须要自己来填或者借助于像seajs这样的模块化工具,所以我们可以考虑学一学单例模式,构造模式结合原型模式,比如你想要实现一个复杂的效果之类的,如果不用面向对象,你写的代码最后成了一个基本上自己都看不下去的一坨。诸如此类的还有惰性函数,柯里化你慢慢学习吧,反正很好玩的。好吧,还有字符串和正则的黑科技知识replace,split的高级用法我也觉得是值得学习一下的。下面说一下JS里有哪些不好的东西,但是我们要注意到有这些东西是存在的,但是呢,我们其实按规范写代码这样些东西是可以避免的:预解释可以说是一大没节操的东西不加var你活该代码报错尽量不要用二个等号,考虑用三个等号,这样就不用考虑所谓的数据类型转换的问题了注意,要么用window.attr或者typeof attr,要不然会的错深刻理解this,要注意什么时候是window,什么时候是当前对象尽量不要用eval,setTimeout,setInterval的字符串的形式,不要用with,因为作用域会弄乱eval也是既然决定用正则就多测试一下,深刻理解元字符,量词的意思,还有标志位之类的mouseover和mouseout是有问题的,尽量考虑用mouseenter和mouseleave避免冒泡注意NodeList和HTMLCollection是活的注意什么是同步代码,什么是异步代码,否则你不会知道什么情况下用闭包,什么情况下用promise机制的,为什么会存在promise/A规范不理解作用域的问题,你就没法理解为什么出来一个Commonjs规范,更不会理解webpack的优势绝对绝对不考虑主动使用undefined CSS里的UI事件也是异步的,如果你的CSS3动画让你迷惑记得这一点用定时器,记得清掉之前的定时器,一个页面最好就用一个定时器,或者你可以把定时器的timeId当作自定义属性绑定在元素身上,要不然就会乱掉事件委托是个好东西,DOM2级事件一堆的问题,要么自己封装一个事件库,要么你可以考虑用jQuery的事件模块,要么就用DOM0级事件吧,反正没问题OK,下面说下多值得用的东西:迭代器,好像可以让代码更清晰?promise,好像现在慢慢的火了多用函数,毕竟人家是第一公民,不能亏待他了jsonp和ajax是个好东西,可以让页面性能提升,据说可以提升KPI 明天再扯一扯面向对象

你可能感兴趣的:(我们一起好好写js代码)