首页> javascript

js深拷贝

分类:前端开发2018-12-21阅读:(105)标签:javascript
javascript中数据类型有8种,其中有7种原始类型:Boolean,Null,Undefined,Number,BigInt,String,Symbol和 Object。我们通常也说基础类型和引用类型。内存中,基础数据类型在栈中直接存储值,引用类型则是在堆中存储,然后把其在堆中的地址存储在栈里。js浅拷贝,只是拷贝栈中的数据,js深拷贝,就是要完全拷贝,包括堆里数据。举例说明:let ...

新闻单行间歇滚动效果

分类:前端开发2018-12-11阅读:(197)标签:javascript
现在很多网页在首页都会放一个头条新闻的地方,有一两条新闻间歇滚动。网上方法有很多,这里记录两种自己用的方法。用到的有setTimeout, requestAnimationFrame。方法一:通过srollTop来实现:e.g.<style type="text/css"> .box{ width: 100%; height: 40px; ...

Canvas绘制刮刮乐效果

分类:前端开发2018-05-08阅读:(845)标签:javascript, html5, canvas
最近朋友做html5营销页挺多的,想着一直写js,html5的东西也好久没写过了。今天就来折腾一下,看看canvas的东西,然后想到刮刮乐效果。这个以前同事也分享过,不过时间太久,也忘记了。熟悉PS的话,就很清楚图层的概念。刮刮乐就是两个图层,奖项图层在下面,上面盖一层灰色的遮住。挂掉灰色图层,镂空显示出下面的奖项图层。根据html的canvas手册实验了几下,发现不能清除画的某个图案,会直...

composition事件控制表单输入字数的长度

分类:前端开发2017-06-06阅读:(1776)标签:javascript
我们在做表单内容输入的时候,常常会有一些字数长度限制,超过多少个字后不能再输入,在这种需求下,我们通常用input来判断字符串的length,然后做value的截取和重新赋值,但这样会有一个问题,就是当我们输入汉字的时候,每一个键盘按键都会触发input。比如表单里还可以输入两个字符,但我输入中文用的是拼音,全拼,要完成最后两个汉字的输入,需要按很多个字母键,但每一键都会因为input事件而...

高性能javascript各章节小结

分类:前端开发2016-11-05阅读:(1422)标签:javascript
1,加载和执行Javascript在浏览器中的性能,可以认为是开发者所面临的最严重的可用性问题。多数浏览器使用单一进程来处理用户界面UI刷新和Javascript脚本执行,so,同一时刻只能做一件事。JS执行过程耗时越久,浏览器等待响应的时间就越长。管理浏览器中的JS代码是个棘手的问题,每次遇到<script>标签,页面都必须停下来等待代码下载并执行,然后继续处理其他部分。尽管如...

javascript的Array.sort排序IE8和chrome不一致的问题

分类:前端开发2016-09-08阅读:(1481)标签:javascript
javascript中Array.sort方法对数组的元素做原地的排序(引用),并返回这个数组。 sort 可能不是稳定的。默认按照字符串的Unicode码位点(code point)排序。如果指明了 compareFunction ,那么数组会按照调用该函数的返回值排序。记 a 和 b 是两个将要被比较的元素:如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列...

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

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

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

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