- 博客(42)
- 收藏
- 关注
原创 图片隐写加解密
今天开发了一个新的功能图片加解密,点击这里进入,你可以轻松将一段告白的话,秘密日记,常用密码,总之不想让别看到的内容,就将它放到一张你喜欢的美图中吧,操作如下图1.上传图片2. 添加内容3. 点击加密4.下载图片如下图 (此图可下载进行解析哦看看在这里插入代码片她对你说了什么吧)这个时候你就下载好一张和原来一样的图片,存放到你喜欢的位置吧🤣,接下来我们再看,拿到这张图片的小伙伴怎么看到图片中的内容吧1.选择最上面的解密图片中内容2.上传要解密的图片3.点击解密,下面就可以展示图片中的.
2022-06-23 11:26:12
614
原创 instanceOf实现
//A是否是B的实例const instanceOf(A,B){ let p1=A; while(p1){ if(p1.__proto__===B.prototype){ return true } p1=p1.__proto__; } return false;}
2021-11-03 16:56:29
96
原创 h5在ios弹窗滚动穿透滚动问题,最快解决方式
// 阻止滚动 const stopScrolling = e => { e.preventDefault(); }; // 取消阻止 const unblockStopScrolling = e => { e.stopPropagation(); }; useEffect(() => { if (refContext.current) { refContext.cur.
2021-06-17 15:57:26
906
原创 vue 视图更新原理核心代码
// 观察一个vue 的defineProperty// 只针对对象 数组没有使用defineProperty的let arrayProto = Array.prototype;let proto = Object.create(arrayProto);["push", "shift", "splice"].forEach((method) => { proto[method] = function (...args) { let inserted; switch (m
2021-06-01 23:39:51
180
2
原创 dayjs 之页面奔溃问题
背景开发过程出现内存泄露问题,导致页面奔溃,一直找不到原因,通过监控发现报错大概位置在utc那块,找到对应项目使用时间转化的地方发现,return dayjs(time) .utc() .utcOffset(offset, false) .format(format);正确写法return dayjs(time) .utcOffset(offset, false) .format(format);...
2021-03-29 11:21:31
290
原创 发布订阅模式
class EE { events = {}; //触发订阅的方法 emit(name, ...params) { (this.events[name] || []).forEach(it => { it(...params); }); return this; }//绑定订阅只执行一次就销毁 once(name, func) { const wraper = (...arg) => { func(...arg);
2021-03-21 21:06:00
54
原创 模板字符串替换
function render(template, data) { return template.replace(/\${.(\w+).}/g, function (match, $1) { console.log(match, $1); return data[$1]; });}console.log(render('My name is ${ name }, I\'m ${ age } years old.', { name: '小王', age: 20,}));
2021-03-21 20:31:35
130
原创 jsontree
var chapterTree = { name: '总章节', children: [ { name: '章节一', children: [ { name: '第一节', children: [ { name: '第一小节' }, { name: '第二小节' } ], }, ...
2020-03-22 10:48:50
172
1
原创 React 中redux和react-redux的实现
实现redux中的方法/** createStore 创建REDUX容器* @PARAMS* reducer:函数* @RETURN* store:{* getState,* dispatch,* subscribe* }* */function createStore(reducer) {// 创建一个store,STATE...
2020-03-08 15:44:23
118
原创 mysql存储emoji表情报错的处理方法【更改编码为utf8mb4】
修改MySQL配置文件my.cnf一般在etc/mysql/my.cnf位置。找到后请在以下三部分里添加如下内容,windows系统在my.ini文件修改:[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshak...
2020-02-26 20:40:19
135
原创 vue v-model双向绑定源码实现demo
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><div id="app"> <input type="text...
2020-01-30 10:12:39
340
原创 nodejs核心模块 events 实现
events 实现events.jsfunction EventEmitter() { this.events = {};//会把所有的事件监听函数放在这个对象保存 this._maxListeners = 10;}EventEmitter.prototype.setMaxListeners = function (num) { this._maxListeners = nu...
2020-01-28 21:24:01
254
原创 nodejs xml 转json htmlparser2
let htmlparser = require("htmlparser2");let fs = require("fs");function WriteXml(xml) { this.xml = xml; this.stack = []; this.node = ""; this.rootName = '';}WriteXml.prototype ...
2019-10-14 18:44:01
510
原创 exceljs node 生成可合并单元格的excel
const fs = require('fs')const Excel = require('exceljs')const workbook = new Excel.Workbook()workbook.creator = 'test'workbook.lastModifiedBy = 'test'workbook.created = new Date()workbook.mod...
2019-06-21 18:58:48
3881
原创 js函数柯里化
function add(a, b, c, d) { return a + b + c + d; } function f1(fn) { var _arg = [].slice.call(arguments, 1); return function () { var newArg = _arg.concat(...
2019-05-18 13:49:10
252
原创 js bind call 和 apply 实现原理
Function.prototype.newBind = function (target) { var self = this; var args = [].slice.call(arguments, 1) var temp = function () { }; var f = function () { ...
2019-05-17 23:38:36
403
1
原创 冒泡排序和选择排序
冒泡排序public static int[] paopao(int... num){ int len=num.length; for(int i=0;i<len-1;i++){ for(int j=0;j<num.length-1-i;j++){ if(num[j]>num[j+1]){ num[j]=num[j]+num[j+1]; ...
2019-04-07 13:19:33
86
原创 http原理
网络层协议分层低三层物理层主要作用是定义物理设备如何传输数据数据链路层再通讯的实体间建立数据链路连接网路层为数据在节点之间传输创建逻辑链路传输层向用户提供可靠的端到端服务传输层向高层屏蔽了下层数据通信的细节应用层为应用软件提供了很多服务构建于TCP协议之上屏蔽网路传输相关细节HTTP/0.9历史只有一个命令GET没有HEADER等描述数据的信息服务器发送完毕,就关...
2019-03-10 14:00:40
71
原创 webpack4.0 前后端跨域处理的3中方法
1和2直接在webpack.config.js下的devServer下配置处理let path = require("path");let HtmlWebpackPlugin = require("html-webpack-plugin");let cleanWebpackPlugin = require('clean-webpack-plugin');let copyWebpackPlu...
2019-02-10 20:32:07
726
原创 webpack4.0 小插件 clean-webpack-plugin copy-webpack-plugin webpack.BannerPlugin的使用
let path = require("path");let HtmlWebpackPlugin = require("html-webpack-plugin");let cleanWebpackPlugin = require('clean-webpack-plugin');let copyWebpackPlugin = require('copy-webpack-plugin');le...
2019-02-10 19:54:34
638
原创 webpack4.0代码调试的4种情况
4种情况 //devtool: 'source-map',//源码映射,可以帮助我们调试源代码 会单独生成一个sourcemap文件 出错了会标识当前报错的列和行 // devtool: 'eval-source-map',//报错会显示行和列但是不会生成map文件 // devtool: 'cheap-module-source-map', //不会产生列 但是是一个单独...
2019-02-09 19:32:12
303
原创 webpack4.0多页面配置
let path = require("path");let HtmlWebpackPlugin = require("html-webpack-plugin");module.exports = { //多入口 mode: "development", entry: { home: './src/index.js', other: '....
2019-02-08 17:24:26
486
原创 webpack 4.0图片在js文件css less 和html文件的引用配置
/*webpack 是node写出来的node的写法*/let path = require("path");let HtmlWebpackPlugin = require("html-webpack-plugin");//let MiniCssExtractPlugin = require("mini-css-extract-plugin");//抽离生成css打包文件(可以引用多次)l...
2019-02-08 16:47:44
553
原创 webpcak4.0 jquery的引用两种方法
yarn add jquery方法一// import $ from 'expose-loader?$!jquery';// yarn add expose-loader 引用jquery方法一方法二正常引入jqueryimport $ from 'jquery';// yarn add expose-loader在webpack.config.js下面的module下的...
2019-02-08 13:36:18
300
原创 webpack4.0 css压缩js压缩 css 样式添加前缀
webpack.config.js配置文件/*webpack 是node写出来的node的写法*/let path = require("path");let HtmlWebpackPlugin = require("html-webpack-plugin");//let MiniCssExtractPlugin = require("mini-css-extract-plugin");/...
2019-02-08 09:54:11
2247
原创 webpack4.0使用
下载webpack 和webpack-cli yarn add webpack webpack-cli -D0配置打包文件npx webpack运行npx webpack默认执行的配置文件为webpack.config.js 可以手动更改npx webpack --config webpack.myconfig.js{ "name": "webpack02", "...
2019-02-06 09:04:07
137
原创 React 生命周期函数的使用
import React from 'react';import ReactDOM from 'react-dom';import 'bootstrap/dist/css/bootstrap.css';// import PropTypes from 'prop-types';function computed() { return new Promise(res => {...
2019-02-01 16:33:23
106
原创 React数据双向绑定
import React from 'react';import ReactDOM from 'react-dom';import 'bootstrap/dist/css/bootstrap.css';import PropTypes from 'prop-types';class Temp extends React.Component { constructor() { ...
2019-02-01 15:01:47
89
原创 React组件的Dom操作
import React from 'react';import ReactDOM from 'react-dom';import 'bootstrap/dist/css/bootstrap.css';import PropTypes from 'prop-types';class Dialog extends React.Component { static defaultPr...
2019-01-31 23:44:27
461
原创 react实现简单的投票组件
import React from 'react';import ReactDOM from 'react-dom';import 'bootstrap/dist/css/bootstrap.css';import PropTypes from 'prop-types';// import Dialog from './compontent/Dialog';import './less/...
2019-01-31 00:10:24
639
原创 React组件状态数据驱动思想
class Clock extends React.Component { constructor() { super(); //初始化组件的状态(都是对象类型的)要求我们在CONSTRUCTOR中,需要把后期使用的状态信息全部初始化一下(约定俗称语法规范) this.state = { time: new Date...
2019-01-30 23:32:23
875
原创 @es6 类的使用
class Parent { constructor(x, y) { this.x = x; this.y = y; } render() { } static ajax() { return 5; }}Parent.prototype.AA = 10;//CLASS中只能写原型的方法如re...
2019-01-30 23:30:32
115
原创 时间戳转日期
toLocaleDateString() 2017-11-11toLocaleString() 2018-11-11 00-00-00
2018-11-12 09:39:04
93
原创 浏览器兼容笔记
<script src="https://cdn.bootcss.com/html5shiv/r29/html5.js"></script>//兼容html5语义标签其中方法1(ie8及以下) <!-- 方法二:通过创建document.createElement("header");//创建标签默认为行内元素需要样式里面设置为block -->...
2018-11-04 15:03:15
103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人