首页> 前端开发

前端项目一期code review问题总结

分类:前端开发,笔记碎片2016-07-03阅读:(1892)标签:javascript, jquery, 经验
这次项目开发第一期结束,团队进行了code review,代码写得比较low,总结leader和爝爷的点评。需求分析要搞清楚,理清所有大小点需求,才能更清楚的去划分模块。团队中通用的一些组件或插件,最好使用统一的。这次我自己写了几个组件和jquery插件,都是自己用的,日期格式化的插件本来有公用的,但我使用了自己写的,这不利于项目的后期维护,以及增加了项目代码体积。把节点保存到变量里,jqu...

Js浮点数四则运算精度问题

分类:前端开发2016-06-29阅读:(1715)标签:javascript
javascript的浮点数在计算的时候会有精度问题,比如:19.49*100,你以为是1949,但实际上却是1948.9999999999998,这无疑会在工作共带来很多坑。常用的计算无非四则运算:加减乘除。加法:理论上:0.1+0.2 = 0.3实际上:0.1+0.2 = 0.30000000000000004解决方法:function accAdd(a,b){ var r1,r...

在textarea的光标位置插入文字

分类:前端开发2016-06-13阅读:(1638)标签:javascript
来不及解释了,赶紧上车!IE支持document.selection,Firefox,Chrome,Safari以及Opera都有selectionStart和selectionEnd属性。function insertText(obj,str) { if (document.selection) { var sel = document.selection.crea...

es5-shim和es5-sham的区别以及react兼容IE8处理

分类:前端开发2016-05-10阅读:(8730)标签:javascript, react
新版的react,v15.0已经不支持IE8了,如果项目需求需要兼容到IE8,那我们就要用稍微低点的版本了,v0.14版本的还兼容IE8,但是我们的react脚本编译后是ES5的,在IE8上还需要使用es5的兼容插件es5-shim和es5-sham。先说说我遇到的坑。以前写HTML5,为了兼容引入了html5-shiv。今天练习react,看IE8的兼容情况的时候,发现不起作用。一边goo...

使用NVM管理node版本

分类:前端开发,笔记碎片2016-05-09阅读:(1772)标签:node, nvm
node也已经成为了版本帝,分成两套发行,一个是长期稳定版的,一个是最新快速迭代的。我们生产环境中使用长期稳定版TLS,开发体验用最新的。我的开发机是windows的,so我用的nvm也是windows版本的。安装NVMgithub: 官网https://github.com/creationix/nvmwindows版本下载地址:下载https://github.com/coreybutl...

页面激活判断

分类:前端开发2016-05-05阅读:(1883)标签:javascript
浏览器有多个标签页的时候,当前激活的只有一个,其它的几个页面会失活,他们的setInterval等方法就会停滞,一些事件会累积,不会被处理。那这里也就提出了一个问题,判断当前页面是激活状态还是失活?如果换句话说就好理解了,判断页面是激活状态还是失焦状态?从激活和失焦,我们就很容易想到focus和blur。e.g.<script> (function() { window....

移动端淡入淡出卡顿问题--触发GPU加速

分类:前端开发2016-04-06阅读:(1589)标签:css3, 移动开发
今天跟一技术leader聊到移动端淡入淡出效果卡顿问题,这个以前还真没遇到,可能是开发的手机性能太好了。既然说到有这个问题,那肯定就是有了,解决办法也是有的。技术leader提到了GPU加速。那就顺藤摸瓜,查一查。CSS里的动画效果默认都不会开启GPU加速,然而使用浏览器缓慢的软件渲染引擎来执行。而开启硬件加速则能使网站的动画表现更为流畅。GPU加速这个名字听上去很神奇,但是触发方式却比想象...

面向对象12种继承方法

分类:前端开发2016-03-30阅读:(1144)标签:javascript
1,原型链法(仿传统)Child.prototype = new Parent(); 基于构造器的工作模式;使用原型链模式;注解:默认继承机制。我们可以将方法与苏醒几种可重用的部分迁移到原型链中,而将不可重用的那部分设置为对象的自身属性。2,仅从原型继承法Child.prototype = Parent.prototype; 基于构造器工作的模式;原型拷贝模式(不存在原型链,所有的对象共享一...

代码重构技巧

分类:前端开发2016-03-29阅读:(1061)标签:重构
代码重构是为了改善现有的代码设计,让代码更好。作为读书笔记,这里摘录《javascript设计模式与开发实践》中的代码重构部分。提炼函数避免出现超大函数。独立出来的函数有助于代码复用。独立出来的函数更容易被覆写。独立出来的函数如果拥有一个良好的命名,它本身就起到了注释的作用。(代码即注释,高逼格的代码)合并重复的条件片段如果一个函数体内有一些条件分支语句,而这些条件分支语句内部散布了一些重复...

js正则面试题:字符串全局匹配模式下的返回值问题

分类:前端开发2016-03-25阅读:(1268)标签:javascript, 正则表达式
技术群里看到一个关于js正则的面试题。大致如下:var reg = /abc/g; var str = 'abcd'; alert(reg.test(str)); alert(reg.test(str)); 以之前的见识,我觉得两次弹出都是true,为什么这么出题?难道不一样,为什么呢?测试了一下,一次true,一次false,而且继续往下alert的话,都是true,false交替的。百撕...
前端开发,笔记碎片