- 博客(57)
- 收藏
- 关注
转载 js垃圾回收及内存泄漏
js垃圾回收js能够自动回收申请却未使用的内存,由于每次清除需要的性能较大,不是时时在刷新,而是每隔一段时间才进行一次。回收的两种方式标记清除(常用) 在内存中先标记变量,然后清除那些那些进入环境或者引用的变量的标记,当进入环境退出环境,将被重新标记并被清除,释放出内存。引用计数 计算变量被引用的次数,引用次数为0将被清除释放内存。 缺点:无法清除那些引用...
2019-09-30 22:05:00
174
转载 js钩子函数实现一个简单动画
<!DOCTYPE html><html><head> <title></title> <meta charset="utf-8"> <style> #ball { width: 20px; h...
2019-09-29 23:24:00
527
转载 vue-resource发送请求
<!DOCTYPE html><html><head> <title>vue-resource</title> <meta charset="utf-8"></head><body> <div id="app"> ...
2019-09-28 11:39:00
259
转载 vue生命周期
vue生命周期从创建vue开始的各种事件统称为生命周期生命周期钩子,是事件的别名主要生命周期函数分类:创建期间的生命函数beforeCreate:第一个生命周期函数 在new以后的某个时候调用,这时候不能在该函数能调用里面的方法create:第二个生命周期函数 这时候实例已经创建好了,可以使用里面的数据及方法beforemount:第三个生命周...
2019-09-27 11:39:00
148
转载 TODO页面
功能:1.根据数据显示当前所未完成的事件, 2.可通过输入框进行事件的添加,可标记已完成的事件并进行删除,可修改已添加的事件。 ps:插件引入均使用本地文件,需改用静态CDN。 效果: 代码实现:<!--todo.html--><!-- <!DOCTYPE html> --><htm...
2019-09-09 21:21:00
259
转载 实现元素拖拽的两种方式
第一种方式:使用H5的API dataTransfer 实现思路: 1.为将要拖拽的元素设置允许拖拽,并赋予dragstart事件将其id转换成数据保存; 2.为容器添加dragover属性添加事件阻止浏览器默认事件,允许元素放置,并赋予drop事件进行元素的放置。 代码如下:<html><head> ...
2019-09-08 11:08:00
694
转载 js变量提升
首先先看下变量提升的规则 1.变量声明、函数声明都会被提升到作用域顶处; 2.当出现相同名称时,优先级为:变量声明 < 函数声明 < 变量赋值 接下来看一个例子:var foo =function(x, y){ return x - y;}function foo(x, y){ return x + y;}...
2019-08-27 20:08:00
194
转载 vue-filters(过滤器)
局部过滤器:<html><head> <title>vue</title> <meta charset="utf-8"></head><body> <div id="app"> {{msg | toFixed(1)...
2019-08-26 09:58:00
142
转载 vue事件修饰符
/* 默认事件触发顺序:冒泡 vue事件修饰符 1.阻止事件传播--事件.stop 2.事假捕获--事件.capture 3.阻止事件默行为--事件.prevent 4.事件只触发一次--事件.once ...
2019-08-26 09:23:00
130
转载 reduce方法的使用
reduce(收敛):接收一个回调函数作为累加器,数组中的每个值(从左到右)开始缩减,最终为一个值,是ES5中新增的又一个数组逐项处理方法。 reduce(callback,initialValue) callback(一个在数组中每一项上调用的函数,接受四个函数:)previousValue(上一次调用回调函数时的返回值,或者初始值)currentV...
2019-08-25 20:51:00
473
转载 基于vue的购物车清单
<!doctype html><html><head> <meta charset="utf-8"> <link rel="stylesheet" href="node_modules\bootstrap\dist\css\bootstrap.css"></head>...
2019-08-25 16:12:00
214
转载 圣杯布局和双飞翼布局
圣杯布局及双飞翼布局主要用于解决左右两边盒子固定宽度。中间盒子宽度自适应的问题。 圣杯布局:<!doctype html><html><head> <title>圣杯布局</title> <meta charset="utf-8"> <style...
2019-08-23 10:05:00
91
转载 正则限制input负数输入
//直接在input标签内加入下面两个事件处理程序即可onkeyup="this.value=this.value.replace(/\D|^0/g,'')" onafterpaste="this.value=this.value.replace(/\D|^0/g,'')"转载于:https://www.cnblogs.com/angle-xiu/p/113...
2019-08-21 17:29:00
2682
转载 vue.js devtools图标不亮
第一步:打开谷歌扩展程序 第二步:设置允许访问文件地址转载于:https://www.cnblogs.com/angle-xiu/p/11386964.html
2019-08-21 09:43:00
1062
转载 将二维数组转换成一维数组(基于reduce)
reduce:不改变原数组,返回一个新的数组。就是遍历数组元素,从头开始,依次往下,第一个参数是上一次的返回值,第二个参数是下一个数组元素,首次的时候第一个和第二个参数分别是 array[0], array[1] ; let flat=[[1,2,3],[4,5,6],[6,7,8]].reduce(function(prev,next){ return p...
2019-08-20 09:50:00
1768
转载 基于PROMISE解决回调地狱问题
回调地狱问题: 在使用JavaScript时,为了实现某些逻辑经常会写出层层嵌套的回调函数,如果嵌套过多,会极大影响代码可读性和逻辑,这种情况也被成为回调地狱。比如说你要把一个函数 A 作为回调函数,但是该函数又接受一个函数 B 作为参数,甚至 B 还接受 C 作为参数使用,就这样层层嵌套,人称之为回调地狱,代码阅读性非常差。 例如:要发送三个异步的请求要求前面一...
2019-08-19 17:02:00
302
转载 封装AJAX库(参考JQ)
//jQ方法 $.ajax([URL],[OPTIONS])$.ajax({ url:'', data:null, datatype:'json', method:'GET', async:true, cache:true, success:()=>{}, error:()=>{}})//封装成window对象的一个方...
2019-08-19 15:53:00
92
转载 for in和for of的区别
for in:一般用于遍历普通对象(即没有部署Iterator接口),遍历的是属性。 for of:ES6新增的遍历方式,能遍历大部分的类型,遍历的是值。for...of允许你遍历 Arrays(数组), 类数组对象(Array Like Object),Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构等。如果对象部署了Iterator接...
2019-08-15 19:31:00
207
转载 抢购倒计时的实现
<html><head> <meta charset="utf-8"> <style> .timebox { border: 1px pink solid; width: 300px; height: 50px;...
2019-08-15 17:30:00
576
转载 HTTP请求方式及其区别
一.请求方式 所有的请求都可以给服务器传递内容,也可以从服务器获取内容。 GET:从服务器获取数据(给的少拿的多) POST:向服务器推送数据(给的多拿的少) DELETE:删除服务器的一些内容 PUT:向服务器存放一些内容 HEAD:只请求页面的头部 TRACE(或OPTIONS):发送一个探测性请求,如果返回了...
2019-08-14 11:32:00
738
转载 AJAX中所谓的异步
async javascript and xml 异步的js和xml 在AJAX中的异步不是我们所理解的同步异步编程,而泛指“局部刷新”,但是我们以后的AJAX请求尽可能异步请求数据(因为异步数据获取不会阻塞下面代码的执行)。转载于:https://www.cnblogs.com/angle-xiu/p/11350270.html...
2019-08-14 10:21:00
97
转载 前端性能优化方案
1.在js中尽量减少闭包的使用(闭包不会释放栈内存) A:循环进行事件绑定时,尽可能使用自定义属性,而不用创建闭包来存储信息。 B:在最外层形成一个闭包,把一些后期需要的公共信息进行存储,而不是每一个方法都创建一个闭包(例如单例模式)。 C:尽可能手动释放掉不需要的内存。 。。。 2.进行js和css文件的合并,减少http请求的次数...
2019-08-13 17:03:00
112
转载 文字超出隐藏
1.单行文字<html> <head> <meta charset="utf-8"> <style> #row{ display: block; /* 必备的四个条件 */ ...
2019-08-13 12:22:00
1793
转载 创建值的两种方式及其区别
基于构造函数创建自定义类 1.new xxx(),返回自定义类的一个实例。 2,自己创建的类名开头最好大写。 3.这种构造函数设计模式执行,主要用于组件、类库、插件、框架的封装, 平时编写业务一般不使用。function Fn(){...}var f = new Fn(); 基本数据类型基于两种方式创建出来的值...
2019-08-12 16:46:00
97
转载 单例模式
单例(单独的实例,均是Object的实例,但互不干扰)//这是一个人的一些基本特征var name = "hh”;var age = 3;var sex = "man"//==>将描述同一事物的属性或者特征进行分组归类,(存储在同一空间下)避免了全局变量之间的冲突*/var obj = { name:'hh', age:3, sex:'...
2019-08-11 15:33:00
71
转载 自定义数据属性
//设置自定义属性/* 第一种方式:元素对象.属性名=属性值,(原理: 向对象对应的堆内存中添加了一个属性 )*/var btnlist = document.querySelectorAll("button");for(var i=0; i<btnlist.length; i++){ btnlistp[i].myinde...
2019-08-11 14:54:00
148
转载 时间字符串的处理
<html><head> <meta charset="utf-8"></head><body></body><script> /* formatTime:处理时间字符串 @params:模板 ...
2019-08-10 10:19:00
232
转载 日期函数及时钟案例
标准日期对象的方法: 一般使用toLocaleDataString或者toLocaleString而不用toString。 小时钟案例:<html> <head> <meta charset="utf-8"> <style> #...
2019-08-10 09:45:00
131
转载 很low的四位验证码实现
<html> <head> <meta charset="utf-8"> </head> <body> <input type="text" id="codeIn"><br> <span id="codebox"...
2019-08-09 20:06:00
66
转载 queryURLParams
let url = 'http://www.douqu.com/index.html?name1=val1&name2=val2';//1.提取问号后的字符let asktext = url.substring(url.indexOf('?')+1,url.length);//2.后面值的处理let askary = asktext.split('...
2019-08-09 10:35:00
171
转载 时间字符串的处理
let time = '2019-7-24 12:6:23'//eg:2019年7月24日 12时6分23秒//方案一:一路replacetime = time.replace('-','年').replace('-','月').replace('-','日').replace(':','时').replace(':','分').replace(':','秒'...
2019-08-09 09:23:00
128
转载 str.charAt()与str[]的区别
str.charAt():只能显示当前字符,没有则显示空。 str[]:当索引超出当前字符长度时,则显示undefined. 转载于:https://www.cnblogs.com/angle-xiu/p/11322997.html...
2019-08-08 18:33:00
1728
转载 数组去重函数封装
/* unique:函数名 @params ary [Array] 要去重的数组 @return [Array] 去重后的数组*/function unique(ary){ let obj={};for(let i=0;i<ary.length;i++){ let item = ary[i]; if(ob...
2019-08-08 09:41:00
424
转载 数组去重的几种方法
先介绍两种比较LOW的方式 1.let ary=[1,2,3,1,2,3,3];let newary=[];//创建一个新数组保存不重复的元素ary.forEach(item=>{ if(newary.includes("item"))//includes存在兼容时问题,并且性能不好 return; newary.push(i...
2019-08-08 09:20:00
172
转载 splice与slice区别
共同点:均是删除数组元素并返回结果。 区别:splice会改变原数组,而slice不会。并且splice会导致数组塌陷。 数组塌陷:使用splice删除元素时,剩余的数组元素索引的顺讯会改变。 let ary = [10,20,30]for(let i=0;i<ary.length;i++){ splice(i,1); ...
2019-08-08 08:23:00
233
转载 变量与属性名的区别
首先明确一点:对象的属性名只能是字符串和数字,变量表示其所代表的值。 从示例可以看出访问对象属性名时只能是字符串或者数字,而不能是其他。也可以通过将字符串及数字赋值给变量,然后通过变量进行访问,因为变量所代表的就是它所对应的的值。 for in循环中,key为对象的属性名而非变量,所以访问属性值时用obj[key],而非obj.key或者obj["k...
2019-08-07 12:09:00
622
转载 parseInt parseFloat Number三者转换的方式
1.parseInt:从左到右检测字符串,若能先检测到数字,则将数字转换成整形,否则返回NaN。 2.parseFloat:从左到右检测字符串,若能先检测到数字,则将数字转换成浮点型,否则返回NaN。 3.Number:若字符串中含有其他字符则返回NaN. 转载于:https://www.cnblogs.com/angle-xi...
2019-08-07 11:23:00
164
转载 原生js实现选项卡样式切换的几种方式。
先分享一个不能实现的实例(因为es5没有块作用域) for(var i=0; i<list.length; i++ ) { list[i].onclick = function(){ tabchange(i); } } 解决方案: 1.es6新的变量声明方式 ...
2019-08-06 22:18:00
527
转载 script标签所应放的位置
一般放置的位置:<head>标签内,<body>标签内,<body>标签后(建议放在body标签后,利于页面的优化,优化页面结构加载的速度) 1.<head>标签内:外部引入的js文件,或者不涉及页面元素操作的js代码块。 2.<body>标签内:放哪都行,只要保证放在操作元素下面就行,但是如果需要自执行js就需...
2019-08-06 22:02:00
679
转载 类型判断常用的的四种方式
1.typeof 能正确判断出null以外的原始类型(对象类型的判断就有点感人了) 判断null会出错: 2.instanceof a instanceof b 能较为准确的判断出对象类型,但无法判断原始类型 原理:通过查找b是否在a的原型链上 3.constructor(通过判断是否某个构造函数的实例)...
2019-08-05 00:17:00
2554
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人