来自分类 JavaScript2020-10-27 11:07:16
相当于 $(el).before('html' | element) ```javascript el.insertAdjacentHTML('beforeBegin', 'html'); el.insertAdjacentElement('beforebegin', element) ``` 相当于 $(el).prepend('html' | element) ```javascript el.insertAdjacentHTML('afterBegin', 'html'); el.insertBefore(element, el.firstChild) ``` 相当于 $(el).append('html' | element) ```javascript el.insertAdjacentHTML('beforeEnd', 'html'); el.appendChild(element) ``` 相当于 $(el).after('html' | element) ```javascript el.insertAdjacentHTML('afterEnd', 'html')...
来自分类 JavaScript2017-09-28 17:15:03
```javascript var array = [[4,'dasd'],[5,'dasd'],[1,'dasd'],[2,'dasd'],[3,'dasd'],[13,'dasd'],[23,'dasd']] var newarray = [] array.map(i => { let index = newarray.findIndex((j) => j[0] > i[0]) index === -1 ? newarray.push(i) : newarray.splice(index, 0, i) }); console.log(newarray) ```...
来自分类 JavaScript2016-12-07 22:12:00
# compose 创建一个包括一组异步函数的函数集合,每个函数会消费上一次函数的返回值。 ```javascript function fn1(n,callback){ log('1.1.f enter: ',n); setTimeout(function () { callback(null, n + 1); }, 10); } function fn2(n, callback) { log('1.1.g enter: ',n); setTimeout(function () { callback(null, n * 2); }, 10); } function fn3(n, callback) { log('1.1.h enter: ',n); setTimeout(function () { callback(null, n - 10); }, 10); } var fn = async.compose(fn1, fn2, fn3); fn(4, funct...
来自分类 JavaScript2016-12-07 22:12:00
```javascript var arr = [1,2,3,6]; ``` # every async.every(coll, iteratee, [callback]) 如果集合里每一个元素都满足条件,则传给最终回调的result为true,否则为false ```javascript async.every(arr, function(item, callback){ log('1.1 enter: ',item); setTimeout(function(){ log('1.1 handle: ',item); callback(null, item<=10); },100); }, function(result) { log('1.1 result: ', result); }); // 32.233> 1.1 result: true ``` # everySeries async.everySeries(coll, iteratee, callback) 串行 # everyLimit async...
来自分类 JavaScript2016-12-07 22:12:00
```javascript var arr = [{ name:'Jack', delay:200 }, { name:'Mike', delay: 100 }, { name:'Freewind', delay:300 }, { name:'Test', delay: 50 }]; ``` # map async.map(coll, iteratee, [callback]) 对集合中的每一个元素,执行某个异步操作,得到结果。所有的结果将汇总到最终的callback里 - 并行执行。同时对集合中所有元素进行操作,结果汇总到最终callback里。如果出错,则立刻返回错误以及已经执行完的任务的结果,未执行完的占个空位 - 顺序执行。对集合中的元素一个一个执行操作,结果汇总到最终callback里。如果出错,则立刻返回错误以及已经执行完的结果,未执行的被忽略。 ##### 并行 ```javascript async.map(arr, function(item, callback) { log('1.1 enter: ' + item...
来自分类 JavaScript2016-12-07 22:12:00
# auto async.auto(tasks, [callback]) auto用来处理有依赖关系的多个任务的执行 如果中途出错,则会把错误交给最终callback,执行完任务的传给最终callback。未执行完成的函数值被忽略 ```javascript async.auto({ getData: function (callback) { setTimeout(function(){ console.log('1.1: got data'); callback(null, 'mydata'); }, 300); }, makeFolder: function (callback) { setTimeout(function(){ console.log('1.1: made folder'); callback(null, 'myfolder'); }, 200); }, wr...
来自分类 JavaScript2016-12-07 22:12:00
```javascript var data = { aaa: [11,22,33], bbb: [44,55], ccc: 66 }; var keys = [ {name: 'aaa', delay: 300}, {name: 'bbb', delay: 100}, {name: 'ccc', delay: 200} ]; ``` # concat async.concat(coll, iteratee, [callback]) 将多个异步操作的结果合并为一个数组。 以并行方式对集合中各元素进行异步操作,然后把得到的结果合并为一个数组,传给最后的callback。 如果中途出错,则把错误以及已经完成的操作的结果交给最后callback。未执行完的则忽略。 ```javascript async.concat(keys, function(key,callback) { setTimeout(function() { callback(null, data[key.name]); }, key.d...
来自分类 JavaScript2016-12-07 22:12:00
很多时候, 我们需要用到jQuery, 但是我们又不需要jQuery所有功能, 为了一部分功能而引入一个完整的jQuery库, 实在是有点浪费, 特别是在移动端, 那么我们该怎么来精简掉一些我们不需要的功能呢? 准备工作, 安装 `nodejs` 和 `git`, 安装教程网上一搜一大把, 这里不再重复. #### 1. 克隆jquery仓库 `git clone git://github.com/jquery/jquery.git` jQuery的仓库有点大, 网络不太好的, 建议挂VPN #### 2. 安装grunt `npm install -g grunt-cli` 网络不太好的, 可以用cnpm安装 #### 3. 安装jQuery仓库的相关依赖 `cd jquery && npm install` 网络不太好的, 可以用cnpm安装 #### 4. 可以精简那些模块? jquery的api文档: http://www.css88.com/jqapi-1.9/, 可以对比着精简 以下是可以精简的模块列表: ``` ajax css css/showHide dep...
来自分类 JavaScript2016-12-07 22:12:00
```javascript var arr = [{ name: 'Jack', delay: 200 }, { name: 'Mike', delay: 100 }, { name: 'Freewind', delay: 300 }]; ``` # each async.each(coll, iterate, [callback]) 所有操作并发执行,且全部未出错,最终得到的err为undefined。注意最终callback只有一个参数err。 如果中途出错,则出错后马上调用最终的callback。其它未执行完的任务继续执行 ```javascript async.each(arr, (item, callback) => { setTimeout(() => { console.log(item.name); callback(null, item.name); }, item.delay); }, (err) => console.log(err)); ``` # eachS...
来自分类 JavaScript2016-12-07 22:12:00
# whilst whilst(test, fn, callback) 中途出错。出错后立刻调用第三个函数。 ```javascript var count = 0; async.whilst( function () { return count < 5; }, function (callback) { count++; setTimeout(function () { callback(null, count); }, 1000); }, function (err, n) { // 5 seconds have passed, n = 5 } ); ``` # doWhilst doWhilst(fn, test, callback) doWhilst交换了fn,test的参数位置,先执行一次循环,再做test判断。 和javascript中do..while语法一致。 ```javascript var count4 = 0; async...