- 博客(12)
- 收藏
- 关注
转载 用promise手写ajax
function getJson(url){ return new Promise((resolve, reject) =>{ var xhr = new XMLHttpRequest(); xhr.open('open', url, true); xhr.onreadystatechange = function(){ ...
2018-08-05 23:31:33 425
原创 js 数组去重
Array.indexOf() 去重/** 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中* IE8以下不支持数组的indexOf方法* */function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp...
2018-08-05 16:10:01 166
转载 深入解析Javascript异步编程
这里深入探讨下Javascript的异步编程技术。(P.S. 本文较长,请准备好瓜子可乐 :D)一. Javascript异步编程简介至少在语言级别上,Javascript是单线程的,因此异步编程对其尤为重要。拿nodejs来说,外壳是一层js语言,这是用户操作的层面,在这个层次上它是单线程运行的,也就是说我们不能像Java、Python这类语言在语言级别使用多线程能力。取而代之的是,nod...
2018-08-05 15:22:04 396
转载 Promise解决回调地狱
“回调地狱”是什么”回调地狱“也叫”回调金字塔“,我们平时写代码的时候 js如果异步 回调是不可避免的 例如 ajax不断的进行异步请求数据 回调方法里还要对数据进行处理,继续回调…形成回调地狱 这会使得我们的代码可读性变差,出现问题 不好调试 也会导致性能下降Promise是一个构造函数,用来传递异步操作消息,链式调用,避免层层嵌套的回调函数。promise接收两个函数参...
2018-08-05 14:56:17 1399 1
转载 性能优化问题
代码层面:避免使用css表达式,避免使用高级选择器,通配选择器。 缓存利用:缓存Ajax,使用CDN,使用外部js和css文件以便缓存,添加Expires头,服务端配置Etag,减少DNS查找等 请求数量:合并样式和脚本,使用css图片精灵,初始首屏之外的图片资源按需加载,静态资源延迟加载。 请求带宽:压缩文件,开启GZIP,...
2018-08-05 11:49:01 191
转载 js操作获取和设置cookie
//创建cookiefunction setCookie(name, value, expires, path, domain, secure) { var cookieText = encodeURIComponent(name) + '=' + encodeURIComponent(value); if (expires instanceof Date) { ...
2018-08-05 11:44:02 460
转载 HTTP状态码
100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息200 OK 正常返回信息201 Created 请求成功并且服务器创建了新的资源202 Accepted 服务器已接受请求,但尚未处理301 Moved Permanently 请求的网页已永久移动到新位置。302 Foun...
2018-08-05 11:39:40 198
转载 js 对象深度克隆
function clone(Obj) { var buf; if (Obj instanceof Array) { buf = []; //创建一个空的数组 var i = Obj.length; while (i--) { ...
2018-08-05 11:33:37 196
转载 构造函数借用构造函数继承
上次博客跟大家分享了自己对原型链继承的理解,想看的同学欢迎猛击这里,上次说到原型链继承有一些问题,主要是两方面的。我们举个栗子来说明下:Q1:共享的超类属性能被任何实例改写,这个是很危险的!看下面一段代码:function Person(name){ this.name=name; this....
2018-08-04 23:51:05 610
转载 this指向详解及改变它的指向的方法
一、this指向详解this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话不那么严谨,作为一般情况下是可以的)再加下面的补充,就完美啦:情况1:如果一个函数中有this,但是它没有被上一级的对象所调用,那么this指向的就是window,这里需...
2018-08-04 21:25:59 379
转载 懒加载与预加载的区别详细
懒加载1.什么是懒加载?懒加载也就是延迟加载。 当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次,俗称占位图),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。2....
2018-08-04 17:17:17 1530
转载 理解JavaScript里的 [].forEach.call() (Array.prototype.forEach.call(...))写法
因为document.querySelectorAll()返回的并不是我们想当然的数组,而是NodeList,对NodeList,它里面没有.forEach方法,我们使用了这样的方法进行循环:var divs = document.querySelectorAll('div');[].for...
2018-08-04 17:11:08 6396 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人