- 博客(39)
- 收藏
- 关注
原创 npm私库搭建
1.下载verdaccio npm install verdaccio@4.4.0- g 运行不起来可以使用cnpm install -g verdaccio@4.4.0 --unsafe-perm 最新版本有问题,官方没有解决2.执行verdaccio打开C:\Users\Administrator\AppData\Roaming\verdaccio\config.yaml 添加 根据本地ip添加 或者服务器添加0.0.0....
2022-03-07 20:15:41
910
转载 Object.defineProperty和proxy
一文搞懂Object.defineProperty和Proxy,Vue3.0为什么采用Proxy
2022-03-03 09:52:14
1244
原创 H5移动端适配方案
viewport适配解决方案//引入 postcss-px-to-viewport npm install postcss-px-to-viewport --save-dev安装完成后 我们需要进行postcss插件相关的配置 在根目录新建一个名为postcss.config.js的文件,如果项目中已包含该文件则无需新建。在文件中写入如下代码:const path = require('path');module.exports = ({ webpack }) => { co
2022-02-24 17:40:26
531
原创 手写bind方法
Function.prototype.myBind = function () { let that = this let thatArg = arguments[0] let args = Array.prototype.slice.call(arguments, 1) // return function () { // let _args = [...args, Array.prototype.slice.call(arguments)] //.
2022-02-24 09:44:40
237
原创 实现一个sum方法让sum(1)(2,3)=6
function sum(){ var _args = Array.prototype.slice.call(arguments) var add = function(){ _args.push(...arguments) return add } add.valueof = function(){ return _args.reduce((a,b)=>{ return a+b .
2022-02-24 09:42:43
634
原创 vue重写数组的7个方法
const arrayProto = Array.prototype// 拿到数组的原型对象const arrayMethods = Object.create(arrayProto)// 通过Object.create,创建一个新的原型对象// 这样做的目的是为了不污染array原来的原型对象const methodsToPatch = ['push', 'pop', 'unshift', 'shift', 'splice', 'sort', 'reverse']// array数组,这7.
2022-02-24 09:40:29
3424
原创 js的深克隆
const deepClone = (data)=>{ let Obj = Array.isArray(data)?[]:{} for(let key in data){ if(typeof data[key]==='object'){ Obj[key] = deepClone(data[key]) }else{ Obj[key]= data[key] } } return.
2022-02-24 09:39:11
282
原创 微信api的封装
Promise.prototype.finally = function (callback) { let P = this.constructor; return this.then( value => P.resolve(callback()).then(() => value), reason => P.resolve(callback()).then(() => { throw reason }) );};//封装异步apiconst w.
2022-02-24 09:25:13
362
原创 js的发布订阅模式
function Event() { this.handlers = {}}Event.prototype.$on = function (type, eventName) { if (!(type in this.handlers)) { this.handlers[type] = [] } this.handlers[type].push(eventName)}Event.prototype.$emit = function (type, ...args) { .
2022-02-24 09:22:39
285
原创 判断数组a是不是数组b的子集
const a = [1,2,3,4] ,b = [1,2,3,4,5]const compareArr = (arr1,arr2)=>{ return arr1.every(item => arr2.includes(item))}console.log(compareArr(a,b))
2022-02-23 19:08:19
385
原创 实现一个方法,获取arr[-1]的值
constarr=[1,2,3]functionproxy(arr){returnnewProxy(arr,{get(target,i){//console.log(target,i)i=(Number(i)+arr.length)%arr.lengthreturntarget[i]}})}letarr1=proxy(arr)console....
2022-02-23 17:03:38
544
原创 vue的使用心得
1.安装node,傻瓜安装。2.安装完成后,可以使用npm。3.使用npm install vue,安装vue模块4.使用npm install vue-cli,安装vue模块包5.使用vue init webpack +项目名称 一路enter,到使用eslint的时候,如果不想太过于纠结,选择no,否则各种验证,让人怀疑人生。6.在目标文件夹使用npm install,安装模块依赖。...
2018-04-25 15:10:46
275
原创 js判断字符串的出现次数
var str = "saasdfaaaaaa"; var json = {}; for (var i = 0;i<str.length;i++) { console.log(str.charAt(i))// console.log(json[str.charAt(i)])//undefined i...
2018-04-25 14:56:19
277
原创 vue写的日历插件
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>日历</title> <style type="text/css"> * {
2018-03-21 13:12:13
5169
原创 时间日期的vue写法
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>日历</title> <style type="text/css"> * {
2018-03-07 16:14:19
2745
原创 简单的选项卡切换插件
* { margin: 0; padding: 0; box-sizing: border-box; } .bar { width: 500px; m
2017-12-27 16:44:58
540
原创 for循环的异步加载
for(var i=0;i (function (i) { setTimeout(function () { console.log(i) },1000) })(i) }
2017-12-26 17:09:15
730
原创 mui的双击退出和重写返回事件
var first = null; var oldback = mui.back; mui.back = function() { if(!first) { first = new Date().getTime();
2017-12-26 16:59:44
2245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人