- 博客(28)
- 收藏
- 关注
原创 canvas 画进度条
template><div class="circle-wrapper"><canvas id="canvas"></canvas></div></template><script>export default {mounted() {this.percent = this.options.percent;this.radius = this.options.radius;this.widt
2020-12-01 13:40:02 426
原创 2020-09-04
letdebounce=function(func,delay){lettimeoutreturnfunction(){letargs=Array.prototype.slice.call(arguments)if(timeout)clearTimeouttimeout=setTimeout(()=>{func.apply(this,args)...
2020-09-04 17:52:39 173
原创 react hook中的debounce
import { useState, useEffect } from 'react'function useDebounce(value:any,delay=300) { const [debouncedValue,setDebouncedValue] = useState(value) useEffect(()=>{ const handler = window.setTimeout(()=>{ setDebouncedValue(v...
2020-07-21 16:36:59 1445
原创 关于reactHook中useState
import React, {useState} from ‘react’const Buttons : React.FC=()=>{const [count,setCount] = useState(0)return (<button onClick={()=>{setCount(count+1)}}>{count})}export default Button...
2020-05-07 14:52:50 404
原创 打印
const Print = function (dom, options) { if (!(this instanceof Print)) return new Print(dom, options) this.options = this.extend({ 'noPrint': '.no-print' }, options) if ((typeof dom) ===...
2019-05-07 22:37:40 311 1
原创 js实现复制粘贴
const copyArticle= (event)=>{ const range = document.createRange(); range.selectNode(document.getElementById('article')); const selection = window.getSelection();
2017-11-14 15:14:56 430
转载 如何实现一个 Virtual DOM 算法
深度剖析:如何实现一个 Virtual DOM 算法目录:1 前言2 对前端应用状态管理思考3 Virtual DOM 算法4 算法实现4.1 步骤一:用JS对象模拟DOM树4.2 步骤二:比较两棵虚拟DOM树的差异4.3 步骤三:把差异应用到真正的DOM树上5 结语6 References1 前言本文会在教你怎么用 300~400
2017-11-03 15:52:20 316
原创 关于字母排序
let ret = []let hot = []for (let key in map) { let val = map[key] if (val.match(/[a-zA-Z]/)) { ret.push(val) } else if (val.title === HOT_NAME) { hot.push(val) }}ret.sort((a, b) =>
2017-10-10 18:19:47 520
原创 关于富文本Tinymce的问题
由于前后端分离,而且还要求上传本地的图片等等一系列需求,这里使用了Tinymce 解决中间有不少坑,写个备忘吧。首先页面中引入script type="text/javascript" src="/js/admin/tinymce.full.min.js">script>,同时引入你需要实例化的js在html中textarea id="text">textarea>
2017-08-16 15:12:16 5461 1
原创 原生ajax上传多图然后显示
$("#file_upload").change(function () { var $file = $(this); var fileObj = $file[0]; var windowURL = window.URL || window.webkitURL; var dataURL; var $img =
2017-08-04 21:46:04 362
原创 关于二叉树的实现
在很多的网页特效中都会一个出现树节点的问题,在这里我们先不做深究,先实现一个二叉树。function Node(data,left,right){this.data=data;this.left=left;this.right=right;this.show=show;}function show(){return this.data}fun
2017-07-28 23:34:17 309
转载 关于不同像素设备替换不同图片的问题
关于一些Retina,设备像素,移动适配的知识,网上一搜也是一大把,但是基本的东西并没有变化太多。下面就我看过的一些有关于这方面的知识做一些总结(仅以个人的角度出发,所以有不全的地方还请大家谅解)。后面会有不定期的更新~每个知识点我都会在开关写出引用地址,所以大家有不懂的可以看原文章~一、关于设备像素比(devicePixelRatio)出处:高清屏概念解析与检测设备像素比的方法
2017-07-18 11:14:52 797
原创 如何判断一个对象是否含有属性
很久没写过原生js了有些东西不写就会忘,这里我们直接说问题。for in的话这里可以遍历一个对象的所有属性名var name,anoteer_stooge;for( name in another_stooge)if(typeof another_sooge!=='function ' ){document.writeln(name+':' +ano
2017-07-18 10:33:54 1139
原创 关于redux的入门简介
关于redux其实官网上已经给了一个详细的例子。 //1.首先我们要定义计算规则function counter(state = 0, action) { switch (action.type) { case 'INCREMENT': return state + 1 case 'DECREMENT': return state - 1 defau
2017-07-06 08:59:39 268
原创 关于create-react-app搭建react环境并修改端口号
facebook给我们了一个类似vue-cli的脚手架的工具 首先:cnpm install -g create-react-app cnpm是淘宝的镜像,由于国内vpn等原因网速比较慢,所以我们可以设置淘宝的镜像$ npm install -g cnpm --registry=https://registry.npm.taob
2017-07-04 22:29:56 10264 3
原创 关于bind的问题
Function.prototype.bind = function(context){ var args = Array.prototype.slice.call(arguments, 1), self = this; return function(){ var innerArgs = Array.prototype.slice.call(arguments);
2017-06-02 13:00:50 469
原创 关于callee含义
function Aaron(List, callback) { setTimeout(function() { var task; if (task = List.shift()) { task(); //执行函数 } if (List.length > 0) { //递归分解
2017-05-26 10:31:52 373
原创 关于load与ready的问题
很多时候我们搞不清楚load和ready是哪个先执行的?我们看下面的流程(1) 解析HTML结构。(2) 加载外部脚本和样式表文件。(3) 解析并执行脚本代码。(4) 构造HTML DOM模型。//ready(5) 加载图片等外部文件。(6) 页面加载完毕。//load从上面可以清晰的看出ready先执行后load接着进行执行!
2017-05-22 17:01:47 435
转载 关于在php中cookie和session的区别
cookie 是网站服务器向客户端浏览器写入并存储的信息,cookie本身不加密,存储数据量小,一般不超过4K-20K,cookie可以长期存储。cookie工作原理: 第一步:服务器向客户端浏览器写入cookie信息(变量=值) 第二步:下次客户端输入网址访问网站服务器,会在进入网站前,先自动将cookie信息,发送给远程服务器。--注意:要说cook
2017-05-22 16:51:04 409
原创 js冒泡排序
var arrs=[14,3,1,5]var temp;for(var i=0;ifor(var j=0;jif(arrs[j]>arrs[j+1]){temp=arrs[j+1];arrs[j+1]=arrs[j];arrs[j]=temp;}}}alert(arrs)如以上的代码;我们就像吹泡泡一样
2017-05-18 10:52:09 247
原创 js数据结构排序之选择排序
var arr=[3,4,9,7,6];var temp;for(var i=0;ifor(var j=i+1;jif(arr[i]>arr[j]){var temp=arr[j]arr[j]=arr[i];arr[i]=temp}}}alert(arr)选择排序就是把数组的每次循环最小或者最大的选择出来,如果我们按照从小到大的顺序排列,那么如以上代
2017-05-16 16:51:19 293
原创 关于rem适配移动端
(function(doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function() { var clientW
2017-05-12 20:12:08 1769
原创 js设计模式之Module模式(一)
Module模式简单来说就是封装了混混和公有/私有方法和变量的方式,防止其泄露到全局作用域,只有其开发出现bug。但是由于js本身没有别的语言的public以及private来进行修饰,所以其就需要js函数的作用域来进行模拟。 接下来我们来进行一个简单的例子!var testModule = (function (){var counter = 0;return {
2017-04-05 16:02:28 1011
原创 关于闭包的问题
闭包问题简单来说就是突破作用域,比如说函数内部的变量或者对象,只在函数的内部有效,我想在函数的外部使用局部变量,举个简单的例子:function box(){var x=[];for(var i=4;ix[i]=function(){return i}}return x;}var x=box();alert(x[0]()); //4由于
2017-04-04 20:21:34 198
转载 form的enctype属性常用有两种:application/x-www-form-urlencoded和multipart/form-data,
最近项目中用到的一个是用一个页面接收c程序post过来的一断字符串..总接收不到值...我用C#写一个测试可以正常接收到值.最后抓包比较 区别只是Content-Type:application/x-www-form-urlencoded和Content-Type:multipart/related查资料得: application/x-www-form
2017-04-01 19:30:31 1194
原创 关于javascript中的this更改指向问题
我们大家都知道,javascript中this的指向会经常的发生改变,通常我们会进行var that=this,然后在进行调用,最近一段时间经常写react的时候会使用class Example2 extends React.Component { contructor() { super(); this.handle = this.handle.
2017-03-30 19:23:43 284
原创 window.onload以及事件监听器
一般我们写原生js的时候,如果js写在body上方的话,我们需要这么写window.onload=function(){}这是由于我们的执行js的时候,body里面的dom元素并没有载入,所以此时我们需要在js告诉浏览器,在整个dom元素加载完毕后再执行js! 同时js为我们提供了事件监听器的写法!addEventListener(事件,匿名函数地址
2017-03-06 19:47:05 1349
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人