自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 网络图片转base64

【代码】【无标题】

2023-03-20 11:38:14 269

原创 基于elementui时间选择组件的二次封装

基于elementui时间选择组件的二次封装。

2022-11-15 11:33:10 701

转载 完美的js深克隆

js深克隆

2022-11-02 11:47:01 197

原创 pinia原理

pinia原理

2022-09-08 11:20:34 636

原创 编写一个vscode的插件

vscode插件的开发

2022-09-06 16:19:57 648

原创 js常用方法和手写面试题汇总

js常用方法和手写面试题汇总。

2022-09-06 15:40:47 333

原创 手写rollup

手写rollup。

2022-09-05 11:05:31 165

原创 项目中配置 eslint

项目中配置 eslint。

2022-08-30 17:19:54 585

原创 vuex4实现原理

vuex的简单实现

2022-08-21 15:35:29 338

原创 new 方法的实现

new 方法的实现

2022-07-26 10:01:52 233

原创 vue3的响应式原理

vue3的响应式原理

2022-07-17 15:13:20 965

原创 写一个处理js的错误的loader

手写一个处理js错误的loader

2022-06-27 11:12:45 348

原创 简单的file-loader实现

简单的file-loader

2022-06-27 09:30:32 230

原创 使用node实现简易版本的vite加载器

vite原理实现

2022-06-13 19:33:23 590

原创 qiankunjs实现原理

qiankunjs实现原理

2022-03-20 16:40:11 1800

原创 js的继承

js的继承

2022-03-09 13:47:49 195

原创 搭建自己的cli模板

手把手搭建自己的cli

2022-03-09 09:23:36 911

原创 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

原创 webpack的构建原理小结

webpack构建原理

2022-03-04 13:46:35 452

转载 手写Promise

手写promise

2022-03-03 16:13:36 212

转载 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

原创 vue3搭建多页面应用的方法

vue3搭建多页面应用的方法

2022-02-24 15:12:29 5512

原创 手写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

原创 60秒倒计时插件

自己写的一个插件,备用

2017-12-26 15:22:54 422

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除