js
cofecode
这个作者很懒,什么都没留下…
展开
-
时间对象格式转换
var d = new Date();function fn(d){ var year = d.getFullYear(); var month = d.getMonth()+1; var day = d.getDate(); month= month<10 ? ‘0’+month :month; day =原创 2017-07-12 10:52:51 · 596 阅读 · 0 评论 -
判断不同浏览器,加载不同的css和js文件
在低版本的IE中,条件注释还有效果,但是在ie9,10,11浏览器中,条件注释不起作用。在网上找了个校验ie的方法。function isIE(){ if (window.ActiveXObject || "ActiveXObject" in window){ alert('is ie') }else{ alert(not ie') }}isIE()...原创 2018-05-03 09:23:57 · 4598 阅读 · 0 评论 -
ES6 的一些简写
1.属性的简写var name = "张三"var obj = { name: name}console.log(obj.name)ES6 新写法(如果键和值一样的话,可以简写)var name = "张三"var obj = { name}console.log(obj.name)2.方法的简写以前的写法var name = "...原创 2018-06-29 15:36:14 · 915 阅读 · 0 评论 -
js事件循环 事件轮询 event loop
总结了网上的一些有关event loop的资料虽然负责解释和执行js代码的线程只有1个,但是浏览器内部还有其他线程来专门负责异步任务的,比如定时器,UI,事件,网络等专门线程来负责相关任何的处理。step1:主线程读取JS代码,此时为同步环境,形成相应的堆和执行栈;step2:主线程遇到异步任务,指给对应的异步进程进行处理(webAPI);step3:异步进程处理完毕(Ajax返...原创 2018-06-28 11:35:16 · 1468 阅读 · 0 评论 -
node 学习拦路虎 先弄懂异步
阻塞、非阻塞,同步、异步、事件轮询、回调函数、promise、async、await 这些拦路虎不解决,就无法把node和koa学明白。github上有该书的翻译版,好好啃啃先,最后附上地址https://github.com/getify/You-Dont-Know-JS/blob/1ed-zh-CN/async%20&%20performance/README.md#yo...原创 2018-07-06 09:35:21 · 163 阅读 · 0 评论 -
彻底解决js计算精度问题math.js
在js运算过程中,总会出现精度问题。 终极解决办法,引入math.js 数学库&lt;!doctype html&gt;&lt;html&gt;&lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;script src="https://cdnjs.原创 2018-08-16 15:34:33 · 10547 阅读 · 0 评论 -
使用gulp打包增加hash值,解决浏览器缓存问题
前端项目部署后,用户必须强刷浏览器后才能看到最新的代码(和效果),这种体验不是很好,而有的用户根本不知道强刷浏览器这么一回事。其实最好的办法就是给js和css增加一个版本号,或者说是一个hash值,看了下使用vue-cli搭建的项目,最后打完包后,都会生成一个随机的hash值。其实就是为了避免缓存。这里使用gulp 的gulp-rev插件就可以给打包的js或者css增加一个hash值,注意...原创 2018-08-26 21:24:24 · 4119 阅读 · 0 评论 -
前端判断用户活跃情况,长时间不活跃自动退出登录
需求:判断用户活跃情况,超过30分钟不活跃直接退出登录。本想一开始记录下最后一次请求的时间,用最后一次请求的时间去判断用户的活跃程度。这样也有点局限。网上搜了一下,说用鼠标移动状态来检测是否在操作页面。不能说完全不好,但也算是一种方法。于是…// 检测用户活跃情况function isActive() { var arr = ['index', 'login'] va...原创 2018-09-05 19:06:53 · 8058 阅读 · 0 评论 -
接口获取到的数据也需是多语言
多语言需求,调用接口获取到的数据也需是多语言。比如最开始“所在地”这个字段city,为了做多语言,得添加一个字段city_en数据库中,有city 深圳 city_en shenzhen前端在axios全局设置里面,加header头。key为lang,value值是cn/en,这个取自sessionStorageaxios.defaults.headers.commo...原创 2018-09-13 15:24:39 · 1123 阅读 · 0 评论 -
使用blob来做上传图片预览
<!DOCTYPE html><html><head> <title></title></head><body><script type="text/javascript" src="jquery-1.11.3.min.js">&原创 2018-11-28 16:34:30 · 2525 阅读 · 1 评论 -
解决 echarts X轴显示不全 问题
明明选择的2019-02-28 作为结束时间,但是x轴上展示的却不是结束时间解决办法xAxis: { axisLabel:{ showMaxLabel: true }},原创 2018-12-11 09:48:04 · 7465 阅读 · 0 评论 -
jQuery 解决 动态创建的元素添加不了事件 问题
如下面的例子,使用add方法创建的button标签是添加不了click事件的&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p class="pWrap"&gt;这是一个段落。 &lt;button class=&am原创 2019-02-27 23:15:09 · 455 阅读 · 0 评论 -
解决ie请求缓存的问题
ie请求会被缓存,导致信息不是最新的(如钱包余额)。解决办法如果是jq写的。直接在一个参数```$.ajax({ type:"GET" url:'test.html', cache:false, // 不设置ajax缓存 dataType:"html", success:function(msg){ alert(msg); }});```方法二...原创 2018-03-28 14:40:45 · 4750 阅读 · 0 评论 -
js 数组filter 总结
filter过滤数组filter() 1.方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 2.不会改变原始数组var arr = [ { id: 1, text: 'aa', done: true }, { id: 2, text: 'bb', done: false }]console.log(arr.filter(item => item.don原创 2018-01-26 14:03:18 · 34965 阅读 · 4 评论 -
url编码输出会把+号变成空格
url编码输出的时候会把+号变成空格。解决方法:不要用encodeURI,而使用 encodeURIComponent原创 2017-08-03 10:13:37 · 4025 阅读 · 0 评论 -
js去掉小数点后多余的0
项目过程中,后端做了两位小数点的处理,返给我的是两位小数。 比如response里面的是180.50, 结果到了页面展示的时候。变成了180.5。原来是js会不失时机的把小数点后多余的0给去掉。解决方法 toFixed(2)例如this.integralBySum = response.data.data.integralBySum.toFixed(2)注意:这时需要后端返给字符串的金额。就不会出原创 2017-08-18 09:50:42 · 5517 阅读 · 0 评论 -
window.open() 和 window.location.href
window.open() 和 window.location.hrefwindow.open window.open('https://www.baidu.com/') 打开新地址window.location.href 得这样写window.location.href='https://www.baidu.com/'两者的区别window.open('https://www.baidu.原创 2017-08-22 09:48:45 · 643 阅读 · 0 评论 -
js数字精度问题
近期在项目中有出现大数值的订单号9148368244236619在调用接口时自动变成9148368244236620的情况js处理超过16位的数字会有误。也包含获取后端返回来的位数很长的id,建议后台返回来的id用字符串的格式返还回来。原创 2017-09-29 10:57:58 · 509 阅读 · 0 评论 -
js 数字最大安全值
之前写过一篇文章聊到js的精度问题。今天同事在开发过程中又遇到了坑。id后端下发的是number类型,出现渲染出错。查了下资料,js的number类型有个最大值(安全值)。即2的53次方,为9007199254740992。如果超过这个值,那么js会出现不精确的问题。这个值为16位。所以,解决方法:后端下发字符串类型。原创 2017-11-01 14:38:50 · 12070 阅读 · 0 评论 -
delete 删除对象的某个属性
后台传过来的对象。前端需要选择性的渲染,比如后台传过来一个对象。里面有很多比如后端传给的对象是object。但是我不想渲染出object的id。所以得去除掉object中的id,然后进行渲染delete object.property delete object['property']delete object['id']对于delete方法 返回值:对于所有情况都是true,除非属性是一个自原创 2017-11-13 14:30:43 · 5079 阅读 · 0 评论 -
时间戳转格式化的时间
第一步:将时间戳转化成时间对象。var timeStampObj = new Date(timeStamp)第二步:调用函数changeTime(timeStampObj) //传入时间对象function changeTime (time) { var year = time.getFullYear() var month = time.getMonth() + 1 va原创 2017-11-29 10:31:20 · 646 阅读 · 0 评论 -
虚拟DOM
DOM的是很慢的,其元素非常庞大,页面的性能问题也因此会下降。无节制的操作DOM会严重影响页面的性能。如果我们只操作这些虚拟DOM,此时会降低性能的消耗。现在框架的发展方向就是解放DOM操作的复杂性。核心思想:虚拟的DOM的核心思想是:对复杂的文档DOM结构,提供一种方便的工具,进行最小化地DOM操作。我们可以用JS对象表示DOM结构,那么当数据状态发生变化而需要改变DOM结构时,我们先通过JS对象原创 2017-11-06 15:10:21 · 289 阅读 · 0 评论 -
input file 上传 同一张图失败
问题描述:项目中遇到上传图片,需要本地预览效果,测试时无意间发现,当选择A图片,然后更换为B图片,完全正常;当选择A图片,取消该图片,再测选择A图片后,发现不会再生成预览效果,出现了bug百度有人说是这样, 使用input[file]控件上传的文件如果和上一次上传的是同一个的话,change事件是不会触发的。解决办法: 这里我们做完了预览图片后,将input的type类型改为非file,然后点击原创 2017-12-13 18:26:51 · 461 阅读 · 0 评论 -
js 浏览器全屏
这篇博文写的比较好,收藏下https://www.cnblogs.com/javaee6/p/3756249.html全屏有兼容性问题,这里针对谷歌浏览器举例<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <button原创 2017-12-26 10:58:22 · 486 阅读 · 0 评论 -
countUp.js 实现数字滚动 动态效果
演示地址http://inorganik.github.io/countUp.js/<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <div id="box"></div> <script src="https:/原创 2017-12-26 15:23:21 · 16144 阅读 · 2 评论 -
js 实现 input密码框 密码的显示和隐藏功能
鼠标按下时,密码铭文的显示,鼠标抬起时,密码铭文不显示上代码blade模板&amp;amp;amp;lt;input type=&amp;amp;quot;password&amp;amp;quot; value=&amp;amp;quot;{{ old('password') }}&amp;amp;quot; &amp;amp;amp;gt;&amp;amp;amp;lt;i o原创 2019-02-25 09:54:21 · 3290 阅读 · 0 评论