首页> 前端开发

在textarea的光标位置插入文字

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

页面激活判断

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

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

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

面向对象12种继承方法

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

代码重构技巧

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

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

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

设计模式的本质

分类:前端开发2016-03-24阅读:(1461)标签:架构
设计模式的本质:解耦合。那什么是解耦合?耦合定义来源于电路学。当一个模块直接修改或者损坏,会导致另一个模块也损坏或者不起作用,则称二者存在耦合。耦合度定义如果两个模块之间耦合度为零:一个模块损坏不会影响另一个模块。高内聚 低耦合高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。内聚就是一个模块内各个元素彼此结合的紧密程度,高...

setTimeout,setInterval第三个参数

分类:前端开发2016-03-19阅读:(1644)标签:javascript
setTimeout和setInterval是什么就不说了,今天在看ES6的promise的时候,看到代码中setTimeout传递了三个参数。难道这第三个参数是前面函数的参数?eg:function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, 'done')...
前端开发