- 博客(44)
- 收藏
- 关注
原创 如何使修改的freemarker模板实时生效
很多web系统的前端显示模板都用freemrker。由于freemarker没有像java那样方便直观的进行debug调试,开发过程中经常遇到写一些逻辑比较复杂的模板的时候,需要反复的试错修改,每次修改之后都需要部署再验证,导致开发效率比较低。由于freemarker默认开启了模板缓存机制,不管是直接修改部署war包里的ftl文件,还是修改代码ftl文件用IntellijIDEA进行热部署,修改后的ftl代码都不会直接生效。但是如果关闭freemarker的模板缓存,直接修改tomcat容器使用的ft...
2021-03-22 14:14:13 1926
原创 2021 前端面试题及答案
废话不多说直接上干货1.js运行机制JavaScript单线程,任务需要排队执行 同步任务进入主线程排队,异步任务进入事件队列排队等待被推入主线程执行 定时器的延迟时间为0并不是立刻执行,只是代表相比于其他定时器更早的被执行 以宏任务和微任务进一步理解js执行机制 整段代码作为宏任务开始执行,执行过程中宏任务和微任务进入相应的队列中 整段代码执行结束,看微任务队列中是否有任务等待执行,如果有则执行所有的微任务,直到微任务队列中的任务执行完毕,如果没有则继续执行新的宏任务 执行新的宏...
2021-03-04 22:49:08 28018 18
原创 promise的构造函数是异步执行还是同步执行?
构造函数是同步的then是异步的看代码let promise= new Promise((resolve,reject)=>{ consoloe.log(1) resolve() console.log(2) })promise.then(()=>{ console.log(3)})console.log(4)执行结果:12
2021-03-04 18:59:59 1021 1
原创 Vue.js devtools
发现 chrome 拓展 Vue.js devtools 那个图标亮了,但打开控制台没有 Vue 这个选项。后面修改了项目入口文件:mian.jsVue.config.devtools = true;
2021-03-04 11:12:45 481 1
原创 Vue的三种路由模式
路由模式解析这里要讲vue-router的路由模式,首先要了解的一点就是路由是由多个URL组成的,使用不同的URL可以相应的导航到不同的位置。如果有进行过服务器开发或者对http协议有所了解就会知道,浏览器中对页面的访问是无状态的,所以我们在切换不同的页面时都会重新进行请求。而实际使用vue和vue-router开发就会明白,在切换页面时是没有重新进行请求也没有重新刷新页面,使用起来就好像页面是有状态的,这是什么原因呢。这其实是借助了浏览器的History API来实现的,这样可以使得页面跳转而不刷新,页
2021-03-03 19:31:49 9613 1
原创 模拟淘宝/支付宝——实现tab栏左右拖动,进度条同步滑动距离
html<divclass="boxtab"ref="navTabItems"@touchmove="slide"><span>开始</span><span>开始</span><span>开始</sp...
2019-12-29 17:15:04 775
原创 cropper.js裁剪
官网http://fengyuanchen.github.io/cropper/文档https://github.com/fengyuanchen/cropper/blob/master/README.md–v3.x版本引入+使用<link href="/path/to/cropper.css" rel="stylesheet"><script src="/pa...
2019-11-14 18:58:08 681
原创 vue 图片Base64压缩上传
let _this = this;// console.log(e)var imgFile = e.target.files[0]; // 获取图片文件var fr = new FileReader(); // 读取文件fr.onload = function () { // 图片读取完成后 _this.imgBase64 = fr.result; ...
2019-11-02 17:31:15 812
原创 vue面试题2018
1、active-class是哪个组件的属性?嵌套路由怎么定义?答:vue-router模块的router-link组件。 2、怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答:在router目录下的index.js文件中,对path属性加上/:id。 使用router对象的params.id 3、vue-router有哪几种导航钩子? 答:三种,一...
2018-11-14 12:53:52 464
原创 JavaScript计算器
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>计算器的实现</title> </head> <script type="text/javasc
2018-10-30 15:21:03 779
原创 js获取字符串里面字面最多的字母
var str = "abcdefgssdd"; var obj = {}; var letter; for(var i = 0,len = str.length;i<len;i++){//遍历所有的str letter = str[i]; if(!obj[letter]){//如果为obj[letter]没有值就为false obj[letter]=1;//把obj...
2018-10-17 20:21:19 431
原创 js 冒泡排序法
//逐个比较 function getarr(arr){ for(var i=0;i<arr.length-1;i++){ for(var k=i+1;k<arr.length;k++){ if(arr[i]>arr[k]){ var temp =arr[i]; ...
2018-10-15 12:43:48 2773
原创 js数组t排序方法 soft
1.soft排序法var arr=[2,3,55,33,11,1];function getSoft(a,b){ if(a>b){ return 1 }else if(a<b){ return -1 }else{ return 0 }};a.sort(getSoft)c...
2018-10-15 11:24:53 1102
原创 js常见的几种排序法
下面主要是对冒泡排序、选择排序、快速排序、插入排序的js实现的回顾。1. 冒泡排序 1 定义: 比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个 数据交换。 这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。 N=N-1,如果N不为0就重复前面二步,否则排序完成。 fu...
2018-10-15 09:05:40 426
原创 2018前端面试题汇总(更新中)
1.var name='jay' var pe={ name:'kang', getname:function () { console.log(this); return this.name } }; console.log(pe.getname()); var pe1=pe.getname;...
2018-10-12 09:07:03 558
原创 js 数组去重的方法
//set类似数组 但他本身的元素是唯一的 不会重合;//-------------去重方法1--------------------var arr=[2,3,4,5,2,3,4];var set1=new Set(arr);//转换为set让数组元素变成唯一; 去重var arr=Array.from(set1);//转换回数组;console.log(arr)...
2018-10-11 20:01:48 186
原创 ajax 访问封装后的ajax
先封装一个ajax//method:get url:数据地址 callback:创建对象.....function ajax(method, url, callback){ var xhr = new XMLHttpRequest(); xhr.open(method, url, true); xhr.onreadystatechange = function() ...
2018-09-25 19:20:02 244
原创 ajax 数据访问
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> *{ margin: 0;
2018-09-25 19:14:09 163
原创 jquery 轮播
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> *{margin:0;padding:0;}
2018-09-20 12:45:55 227
原创 javascript 创建并导入自定义库
//先创建一个js格式写入//创建对象function $(){ return new Base();}function Base(){ this.ele=[];//保存节点对象}//添加方法Base.prototype.getID=function(id){ var o=document.getElementById(id); this.el...
2018-09-18 09:02:17 1273
原创 javascript工厂模式创建对象
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> //创
2018-09-14 17:54:19 167
原创 javascript表单账户密码校验提交
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> span{color:
2018-09-14 17:50:26 3964 1
原创 javascript常见的正则表达式
/* 字符集: 匹配任意一个: [] 范围匹配: [a-zA-Z0-9] 排除匹配: [^a] 字符: \d 数字 [0-9] \s 空格 换行和缩进符 \w 字母和数字 [0-9a-zA-Z] \D 非数字 ...
2018-09-14 15:09:45 170
原创 js中用正则表达式验证用户注册信息
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title><script type="text/javascript">function check() {v
2018-09-14 15:02:48 3038
原创 javascript String字符串
/* String length 字符串长度 索引 0开始 str[索引] */ // var str='hello '; // console.log(str.length);//字符串中字符的个数 // var str=new Stri...
2018-09-13 18:57:40 141
原创 javascript侧边提示框
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> *{padding:
2018-09-13 18:32:09 788
原创 javascript图片轮播
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> *{padding
2018-09-13 18:30:50 877 1
原创 javascript选项卡功能
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> *{padding: 0px;margin: 0px;} #conta
2018-09-13 18:26:28 231
原创 js解决闭包问题现象
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <ul
2018-09-13 10:12:43 1288
原创 js数组内置的方法(2)
数组内置方法: 是否修改原数组 (1)栈方法(先进后出): 修改 push 进栈(压栈) pop 出栈(弹栈) 弹出一个数据...
2018-09-13 10:08:14 305
原创 js数组内置方法
数组内置方法: 是否修改原数组 (1)栈方法(先进后出): 修改 push 进栈(压栈) pop 出栈(弹栈) 弹出一个数据 (2)队列方法(先进先出): 修改 push 进队(在末尾添加一个或多个元素) shift 出队 (删除数组中第一个元素) unsh...
2018-09-12 15:09:33 308
原创 js全选/全不选/反选 简洁版
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <input type
2018-09-12 11:52:01 140
原创 js查找对象方法
查找节点:(1)根据ID查找元素 返回值document.getElementById(id ) ele或者null(2)根据标签名查找节点对象getElementsByTagName 集合能被document和节点对象调用document.getElemetsByTagNam...
2018-09-12 11:49:04 7075
原创 js全选/全不选/反选
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>全选练习</title><style type="text/css"> &
2018-09-12 10:15:24 192
原创 js数组直接存储数据
李四:90 王五:100 赵六:19 Jack:78 // var arr=[['李四',90],['王五',100]]; var arr=[]; arr['李四']=90; arr['王五']=100; arr['赵六']=19; // console.log(arr['李四']); // console.log(arr,arr...
2018-09-12 09:55:12 5600
原创 js 数组不限长度,不限类型
var arr=[[true,20],[false,30],[true,4],['hello',100]]; 求数组arr中所有数字的和 var sum=0; for(var i in arr){ sum+=arr[i][1]; } console.log(sum); console.log(arr ...
2018-09-12 09:53:26 2259
原创 js数组‘录入4位学生的成绩,求平均分和总分(用函数实现)’
//录入成绩 function getStudnet(){ var scores=[];//保存成绩 for(var i=0;i<4;i++){ scores[i]=parseFloat(prompt('请输入学生成绩')); } return scores; } //求和 function getSum(...
2018-09-12 09:51:56 12987
原创 js数组‘原始数据类型和引用类型的区别
//原始数据类型和应用类型区别: 基本数据类型 数据存储发生在栈内存中 引用数据类型存储 分两步 在堆中保存数据,在栈中保存数据的地址(堆地址)实例/* 1.用函数实现在数组尾部插入数字20(不修改原数组) */ //数组为引用类型 传参传递是地址 var arr=[2,3,4,7,90]; function insert(item,arr){...
2018-09-12 09:50:40 840
原创 js调取当前系统时间年月日星期
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> #box{width: 300px;height: 70px;bord
2018-09-11 19:37:52 512
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人