美文网首页
我们一起好好写js代码

我们一起好好写js代码

作者: 郑伟的菜园子 | 来源:发表于2016-01-16 01:23 被阅读79次

一、如果是整站,那就要规划好了,是用传统的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代码

    一、如果是整站,那就要规划好了,是用传统的jQuery,还是用现在不算是新知识在大公司普及了的gulp+seajs...

  • sea.JS

    sea.JS符合cmd规范的模块加载器。当页面中有多个js文件时,使用sea.JS会让代码更好写,更易懂。 模块定...

  • 和写Python一样去写JavaScript

    ECMAScript 6之后JavaScript开始支持class类了。以前写js代码一直很头疼。现在感觉也挺好写...

  • JS同时与iOS及Android交互

    这里的iOS我们只说WKWebView与js的交互 OC中WKWebView相关代码 JS代码如下

  • JavaScript 与 ECMA

    写了这么多年的js代码, 其实并不知道js谁发明,发明的初衷是啥,一些七七八八的起源,一直感觉这些太无聊, 好好写...

  • JavaScript之执行上下文栈

    JS的可执行代码 JS的可执行代码分为3种: 全局代码、函数代码、eval代码, 这里我们重点讨论下执行一个函数的...

  • 排序 - 草稿

    JS代码位置 最好写在body标签闭合之前,这样浏览器会在加载脚本之前,解析和显示HTML,有利于提升页面的性能 ...

  • ThinkPHP的使用(六)图片上传及预览插件

    将图片预览插件uploadPreview.js下载好放入Common->Js中 模板中导入js文件,及主要代码 U...

  • 游戏开发:js实现简单的板球游戏

    js实现简单的板球游戏 大家好,本次我们来使用js来实现一个简单的板球游戏。截图如下: 首先,设计页面代码,页面代...

  • JS模块_require,new机制_this机制

    代码模块,导出对象 我们所有的代码不能都写到一个文件里面,如何分开文件? js--> 模块机制; js 加载代码的...

网友评论

      本文标题:我们一起好好写js代码

      本文链接:https://www.haomeiwen.com/subject/tibhkttx.html