- 博客(33)
- 收藏
- 关注
原创 js按数量分组数组
groupingArray(data,num){letresult=[];for(vari=0;i<data.length;i+=num){result.push(data.slice(i,i+num));}returnresult;},
2020-09-20 22:12:32 912
原创 理解Javascript sort() 排序
我们都知道sort()接收一个比较函数作为排序的依据,例如:升序function sortNumber(a,b){ return a - b}降序function sortNumber(a,b){ return b - a}但是你知道为什么返回两个不一样的表达式就可以实现升序、降序了吗?我们看到的解释基本都是下面这样,比如w3school上的解释:若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。 若 a 等于 b,则
2020-05-25 14:43:56 366 1
原创 你真的懂:POST跟GET请求的区别吗
面试时,可以回答(一般答前4条就行):GET参数通过url传递,POST放在request body中 GET请求在url中传递的参数是有长度限制的,而POST没有 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息 GET请求参数会给完整保留在浏览器历史记录里,而POST的参数不会被保留 GET请求只能进行url编码,而POST支持多种编码方式 GET请...
2019-11-12 11:55:01 562
原创 使用vw做移动端页面的适配
Flexible到今天也有几年的历史了,解救了很多同学针对于H5页面布局的适配问题。而这套方案也相对而言是一个较为成熟的方案。简单的回忆一下,当初为了能让页面更好的适配各种不同的终端,通过Hack手段来根据设备的dpr值相应改变<meta>标签中viewport的值:从而让页面达么缩放的效果,也变相的实现页面的适配功能。而其主要的思想有三点:根据dpr的值来修改vie...
2019-10-31 16:49:59 648
原创 深度解读当代前端架构进化史,下一个趋势在哪?
上:https://www.infoq.cn/article/AJ0S3IDEHyusNms0bTf1下:https://www.infoq.cn/article/bmfhe65caCpzyo0PQKmg
2019-09-27 10:41:45 127
原创 Object.prototype.toString.call()
每一个继承 Object 的对象都有toString 方法,如果toString 方法没有重写的话,会返回[Object type]其中 type 为对象的类型。但当除了 Object 类型的对象外,其他类型直接使用toString方法时,会直接返回都是内容的字符串,所以我们需要使用call或者apply方法来改变toString方法的执行上下文。Object.prototype.t...
2019-07-18 14:00:32 584
原创 angular6表单验证,简单实例
html(模板)部分 ============================================================================<form nz-form [formGroup]="addNodeForm"> <input nz-input [formControlName]="'nName'" [(ngModel)]=...
2019-04-12 10:55:26 881
转载 正则表达式入门
本文旨在用最通俗的语言讲述最枯燥的基本知识。文章提纲: 元字符 重复限定符 分组 转义 条件或 区间 零宽断言 捕获和非捕获 反向引用 贪婪和非贪婪 反义 正则表达式在几乎所有语言中都可以使用,无论是前端的 JavaScript、还是后端的 Java、c#。他们都提供相应的接口 ...
2019-02-22 09:58:30 97
转载 浅谈HTTP node缓存的那些事儿
前言HTTP 缓存机制作为 Web 应用性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系的基础环节,也是想要成为前端架构的必备技能。缓存的作用我们为什么使用缓存,是因为缓存可以给我们的 Web 项目带来以下好处,以提高性能和用户体验。加快了浏览器加载网页的速度; 减少了冗余的数据传输,节省网络流量和带宽; 减少服务器的负担,大大提高了网站的性能。由于从本...
2018-12-17 22:23:35 238
原创 js 获取本地时间格式
let date = new Date(+new Date() + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '');console.log(date); // 2018-03-26 15:41:10
2018-11-30 23:16:19 780
原创 jquery异步请求 显示顶部进度条(类似淘宝的效果)
方法1:直接上代码,其实很简单的!html:<div class="progressBar"></div>CSS:.progressBar{ position: fixed; height: 2px; background: #da251d; width: 0%; z-index: 100; ...
2018-10-23 17:47:37 621
原创 js实现 打字效果
我们经常看到黑客电影里面,电脑屏幕会自动打字(一个字符接一个字符),找个图片帮你们脑补作为前端的我们,当然是用我们最最最熟悉的JavaScript来实现啦,直接上代码function outputSlowly(str){ var r=str.split(""), div=document.getElementById("contain...
2018-06-29 15:47:36 538
原创 把运行时间长的函数做异步处理 - - 看看javaScript是怎么来处理异步的
因为js是单线程的,一次只能执行一种操作,如果这个一个函数执行时间长将会阻塞后面操作的执行!这时我们可以把这个运行时间长的函数做异步处理!同步函数:function doloop(number){ var sum=1; for (var i=1;i<number;i++){ sum+=i; } retur...
2018-06-15 17:27:58 1071
原创 html自适应内容的高度,底部一直在页面的底部
HTML只放body部分里面的内容:<div class="box"> <div class="box-wrap"> <div>-这里放你的页面内容-</div> </div></div><div class="footer"
2018-05-25 18:05:47 7922
原创 mongoose处理异步返回值的问题
mongoose 有两种调用方式,1种callbacl,1种promise。比如定义个getAll1.callbacka.js回调形式,外面function getAll(cb){ xxModel.find({},cb);}module.exports.getAll=getAll;b.jsvar a=require('a');a.getAll(function(err,re...
2018-04-18 09:56:52 1967
原创 【原】javascript【数组分块】技术,从理解到熟练使用!
前面的话javascript是运行于单线程的环境中的,定时器仅仅只是计划代码在未来的某个时间执行。为什么要使用数组分块?我们经常见到这样的一段代码:for(var i=0,len=data.length;i<len;i++){ //执行的代码}data.length不大还好,当length达到成百上千甚至更大的时候,每次循环如果要50ms,那完成全部循环用时将是很恐怖的!前面说了j...
2018-03-27 16:25:24 535
转载 【译】谷歌Web性能优化系列:HTTP 请求
Everything a web page needs to be a web page -- text, graphics, styles, scripts, everything -- must be downloaded from a server via an HTTP request. It's no stretch to say that the vast majority of a ...
2018-02-28 14:59:39 258
原创 通过selectstart事件可以直接获得文本节点
一般的事件对象的target只能得到元素节点,而通过selectstart事件的event对象可以直接返回文本节点document.onselectstart=function(e){ e=e||event; e.target;//如果你点击的是文本,则返回的结果直接就是这个文本节点了}通过这个事件可以通过点击,就可以直接选取文本了
2018-01-26 23:16:47 2066
原创 js this的例子
var name="window";var object={ name:"Object", getName:function(){ return function (){ return this.name; } }}console.log(object.getName()());//输出“window”
2018-01-08 14:38:49 189
转载 js经典面试问题:如何让for循环中的setTimeout()函数像预想中一样工作?
阅读前提理解:1.setTimeout()的回调函数是在代码段里的代码全部执行完才执行的(相当于setTimeout()被放到程序块最后才执行);2.注意setTimeout()回调函数中的this(文中的例子开始的代码this是在for里面);3.设置timer(对setTimeout()的调用)几乎不消耗时间,如果有连续的延时请求的话,而且每一个时间延迟值是相同的,那么
2017-12-02 11:28:57 431
原创 关于scrollTop添加动态效果的问题
问题:scrollTop是js属性, 不是css属性, 所以无法使用transition或者animate去加动画。奇怪了:$('#toTop').click(function(){$('html,body').animate({scrollTop: '0px'}, 500);});为什么能正常运行,能按要求的实现效果?这个是我亲测的,在IE8以上的浏览器都是没有问题的!谁可以解答一下
2017-11-23 11:47:22 4229 1
原创 word-break与word-wrap 和 word-spacing与white-space
看到这几个CSS属性是不是长得都差不多,会经常混淆呢?我一直也搞不懂...首先word-spacing翻译为单词间隔,就是单词之间的间隔,很容易理解,不再啰嗦;以下看重点主要的还是要你自己在电脑上操作多看看,更容易理解!white-spacewhite-space属性定义了如何处理文本中的空白;具体到细节,主要决定决定了如何处理元素内文本中空白符
2017-11-22 11:01:57 547
转载 echarts x轴文字显示不全(xAxis文字倾斜比较全面的3种做法值得推荐)
echarts x轴标签文字过多导致显示不全如图:解决办法1:xAxis.axisLabel 属性axisLabel的类型是object ,主要作用是:坐标轴刻度标签的相关设置。(当然yAxis也是一样有这个属性的)[html] view plain copy print?axisLabel: { inte
2017-11-07 14:52:33 239
转载 精通闭包(自用)
问题: 1、闭包是什么? 2、为什么要用闭包? 3、什么时候用闭包?解读地址https://zhuanlan.zhihu.com/p/22486908
2017-10-13 10:13:20 158
转载 MV*关于业务逻辑的描述
原文地址:https://github.com/livoras/blog/issues/11 推荐阅读原文(有图片)目录:前言 MVC MVC Model 2 MVP Passive View Supervising Controller MVVM 结语 References 前言做客户端开发、前端开发对MVC、MVP、MVVM这些名词不了解也应该大致听过,都是为了解决图形界面应
2017-10-11 11:23:52 903
原创 js字符串方法match()
//例子var str="我的大家啊宽带连接";document.write(str.match(/我(.{1,100})啊/g));这里写代码片 //输出 我的大家啊//注意这里的正则表达式,意思是匹配我到啊之间的内容最少1次,最大100次 /我(.{1,100})啊/gvar targetText=$('#myDiv').html();//需要匹配的字符串var matches = t
2017-10-10 16:19:49 2054
原创 js字符串方法match()匹配出所有正则表达式的内容
var targetText=$('#myDiv').html();//需要匹配的字符串 var matches = targetText.match(//g);//匹配标签 console.log(matches);//输出所有的内容
2017-10-10 15:45:02 13300
原创 jquery的after()跟append()同时添加元素之间有个莫名的 间隔(去不掉)
jquery的after()跟append()同时添加元素之间有个莫名的 间隔(去不掉)用margin:0padding:0都不行用一样的方法就不会有间隔!!!这是为什么
2017-09-29 10:37:46 999 1
转载 styleSheets以及js中实现样式表的切换、样式的增加减少
document.styleSheets可以返回由网页中所用到的样式表组成的数组,但是不包括直接嵌在元素里的style。例如:上面代码弹出的对话框显示2。至于样式表在数组里的顺序由定义时的顺序决定,如上document.styleSheets[0]返回设定字体大小的style,document.styleSheets[1]返回样式表firstCSS.css。js可以
2017-09-16 17:41:17 403
原创 简单的数据可视化,并加入了animation动态效果
function dataChart(dataObj){ var style = document.createElement('style'); style.type = 'text/css'; var maxNum=Math.max.apply(null, dataObj.data); var ppt=parseInt(maxNum/100); for(var i=0;i&l...
2017-09-16 16:52:27 1066
转载 js中获取键盘事件
1 2 document.onkeydown=function(event){ 3 var e = event || window.event || arguments.callee.caller.arguments[0]; 4 if(e && e.keyCode==27){ // 按 Esc 5
2017-09-08 10:50:10 237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人