HCLQ
HCLQ
拆分功能,定义2个组件: 1. dragArea 拖拽区组件,就是根据数组遍历生成列表项,做drag事件代理 2. dragItem 单个列表成员渲染,绑定一些必要参数在dom上 每个item元素 打上h5 draggable 属性,并记下所在数组中的序号位置, 如 data-index = "0" 记下在dragArea的dragStart事件中元素序号A,dragEnd事件中的元素序号B 在数组里调整2个序号对应的对象的位置,更新渲染即可
```js /** * * @param {*} image 图片 img对象 * @param {*} words 水印内容 */ export default function(image, words) { const { canvas, context } = getCanvas() let width =...
let arr = Array.from({1:222, 2:123, 5:888,length:13},a=>a?a:null) arr.shift()
> ``` > if (arr.length % 2 == 1) { > _arr.push(arr.pop()) > ``` 这里从屁股拿出来再塞回屁股啊 ㄟ( ▔, ▔ )ㄏ
``` function poke(arr) { let i = 1 let out = [] while (arr.length) { if (i % 2) { out.push(arr.shift()) } else { arr.push(arr.shift()) } i++ } return out...
1.先设externals选项 把一些能直接走cdn的库拿出去如vue,vue-router的 2.拆分dll,把node_modules中的一部分拿出去先打包成一个静态的文件,在配置里引入dll的json配置,js文件拿去cdn,如 echarts下选用的模块 然后打包的都基本是自己的业务代码了。。 当然还可以自己再抽离组件 放到cdn去
> > 我工作中用到优化: > > > > 1. 排除不用的第三方包, > > 2. 使用`npm run build --report`去观察各个文件的大小,使用externals方案及引入cdn, 或者按需加载(比如: element-ui) > > 3. 处理 loader 时,配置 include,exclude,缩小 loader 检查范围 > > 4....
> ``` > Promise.prototype.finally = function (callback) { > let P = this.constructor; > return this.then( > value => { > callback(); > return value; > }, > reason =>...
watch 会生成一个watcher对象,在监视的属性每次变动时都会触发回调 computed 则是生成一个惰性的watcher,只有在取值操作(getter触发)时收集依赖且计算值 当有依赖变动时仅将 dirty 置为 true,不做计算操作 当有取值操作时,根据自身标记 dirty 属性返回上一次计算结果/重新计算值
楼上的各位,这题用数组做就没意思了啊 纯链表加索引解决的思路: 拆分为2个函数 1. 只反转链表 2. 在找到需要反转的链表,用 1 去反转 每一轮循环中,将链表视为 pre => start => *** => end => next 我们翻转 start => *** => end 这一段, 变为 pre end =>...