web前端
故剑何寻
只有在有起伏的道路,才能看到更多的风景。
展开
-
JavaScript实现flatten
1. 循环数组+递归实现思路:循环数组,如果数据中还有数组的话,递归调用flatten扁平函数(利用for循环扁平),用concat连接,最终返回result;function flatten(arr){ var result = []; for(var i = 0, len = arr.length; i < len; i++){ if(Array.isArray(arr[i])){ result = result.concat(flatt原创 2020-09-03 14:37:01 · 2178 阅读 · 1 评论 -
Vue 前端导出Excel表格,多级表头合并
针对有Excel导出经验安装依赖npm install --save xlsx file-saverExport2Excel.js 文件/* eslint-disable */import { saveAs } from 'file-saver'import XLSX from 'xlsx'function generateArray(table) { var out = []; var rows = table.querySelectorAll('tr'); va原创 2020-05-26 11:06:15 · 9664 阅读 · 26 评论 -
Vue 使用 reload 刷新当前页面
场景在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求。解决问题用vue-router重新路由到当前页面,页面是不进行刷新的采用window.reload(),或者router.go(0)刷新时,整个浏览器进行了重新加载,闪烁,体验不好解决方法provide / inject 组合作用:允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多...原创 2019-11-06 15:56:02 · 3400 阅读 · 1 评论 -
CSS自定义滚动条样式
/*定义滚动条宽高及背景,宽高分别对应横竖滚动条的尺寸*/::-webkit-scrollbar { width: 10px; /*对垂直流动条有效*/ height: 10px; /*对水平流动条有效*/}/*定义滚动条的轨道颜色、内阴影及圆角*/::-webkit-scrollbar-track{ -webkit-box-shadow: inset 0 0 6p...原创 2019-01-10 10:30:35 · 180 阅读 · 0 评论 -
CSS | 外边距叠加
外边距叠加,简单地说,当两个或更多垂直外边距相遇时,它们将形成一个外边距。这个外边距的高度等于两个发生叠加的外边距的高度中的较大者。当一个元素出现在另一个元素上面时,第一个元素的底外边距与第二个元素的顶外边距发生叠加当一个元素包含在另一个元素中时(假设没有内边距或边框将外边距分隔开),它们的顶和/或底外边距也会发生叠加外边距甚至可以与本身发生叠加。假设有一个空元素,它有外边距,没有边框或...原创 2018-11-21 11:16:40 · 280 阅读 · 0 评论 -
Web页面请求过程
DHCP 配置主机信息 假设主机最开始没有 IP 地址以及其它信息,那么就需要先使用 DHCP 来获取。 主机生成一个 DHCP 请求报文,并将这个报文放入具有目的端口 67 和源端口 68 的 UDP 报文段中。 该报文段则被放入在一个具有广播 IP 目的地址(255.255.255.255) 和源 IP 地址(0.0.0.0)的 IP 数据报中。 该数据...原创 2018-07-17 15:27:31 · 1502 阅读 · 0 评论 -
前端面试题的那些事儿(一)
HTML的 Doctype 作用 ? 严格模式与混杂模式如何区分?它们有何意义 ? 1. 声明位于文档中的最前面,处于 标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档。 2.严格模式(标准模式)的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。在混杂模式(兼容模式)中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。 3.DOCTYP...原创 2018-04-15 08:24:22 · 268 阅读 · 0 评论 -
JavaScript 闭包
闭包——就是能够读取其他函数内部变量的函数。闭包有两个作用: * 第一个就是可以读取自身函数外部的变量(沿着作用域链寻找) * 第二个就是让这些外部变量始终保存在内存中 function f1(){ var n = 999; nAdd = function(){n += 1} function f2(){ ...原创 2018-02-24 11:35:01 · 456 阅读 · 0 评论 -
JavaScript DOM操作及扩展
什么是DOM???DOM(Document Object Model 文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)。注意,IE中的所有DOM对象都是以COM(组件对象模型)对象的形式实现的。IE中的DOM对象与原生JavaScript对象的行为或活动特点并不一致。COM对象是遵循COM规范编写、以Win32动态链接库(DLL)或可执行文件(EXE)形式发布...原创 2017-08-09 11:49:50 · 1122 阅读 · 0 评论 -
JavaScript call和apply的区别
昨天在牛客网做面试题时遇到了这道题:下面有关JavaScript中 call和apply的描述,错误的是?call与apply都属于Function.prototype的一个方法,所以每个function实例都有call、apply属性两者传递的参数不同,call函数第一个参数都是要传入给当前对象的对象,apply不是apply传入的是一个参数数组,也就是将多个参数组合原创 2017-08-10 10:29:02 · 1057 阅读 · 0 评论 -
JavaScript 作用域、作用域链
变量作用域一个变量的作用域(scope)是程序源代码中定义这个变量的区域。变量的作用域无非就是两种:全局变量和局部变量。 全局作用域: 最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的: var scope = "global scope"; function checkScope(){ console.log(sco原创 2018-02-04 09:38:11 · 521 阅读 · 0 评论 -
css 清除浮动的几种方法
浮动会使当前标签产生向上浮的效果,同时会影响到前后标签、父级标签的位置及 width、 height 属性。而且同样的代码,在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了。解决浮动引起的问题有多种方法,但有些方法在浏览器兼容性方面还有问题。1.父级div定义高度.div1{background:#000080;border:1px solid red;/*解决代码*原创 2017-02-27 20:36:13 · 746 阅读 · 0 评论 -
Vue2.0的变化
高层级的变化模板解析器不再依赖于DOM(除非你使用真正的DOM作为模板),因此只要你使用字符串模板,你将不再受到任何1.0版本中的解析限制。但是,如果你依赖在存在的内容中挂载一个元素作为模板(使用el元素),你将依然受到这些限制。编译器(将字符串模板转换为渲染方法的部分)和运行时间现在能够被分开。这里有两种不同的构建:独立构建:包括编译并且运行。这种方式翻译 2017-07-11 22:12:26 · 1035 阅读 · 0 评论 -
记分牌时钟
记分牌时钟 body{background:#ddd;} #wrap{margin-top:150px;text-align:center;} .box,.box span,.box div{ width:70px; height:120px; display:block; line-height:120px; font-size:100px;转载 2017-03-19 08:35:15 · 610 阅读 · 0 评论