前端
文章平均质量分 90
昵給硪鐙誒
扥扥扥
展开
-
axios post 提交数据的几种方式
axios中post请求在与后台交互时,在请求头‘Content-Type’ 定义的提交数据类型有几种方式,如下:this.axios({ url:"http://127.0.0.1:3000/getData", method:"post", data:params, header: { 'Content-Type': 'application/x-www-form-urlencoded'.原创 2020-12-11 15:29:01 · 1433 阅读 · 0 评论 -
Javascript数组对象去重
var arry = [{ name: "a", value: 12 }, { name: "a", value: 23 }, { name: "b", value: 44 },{ name: "c", .原创 2020-09-03 17:21:07 · 187 阅读 · 0 评论 -
js的原型和原型链
对于新人来说,JavaScript的原型是一个很让人头疼的事情,一来prototype容易与__proto__混淆,二来它们之间的各种指向实在有些复杂,其实市面上已经有非常多的文章在尝试说清楚,有一张所谓很经典的图,上面画了各种线条,一会连接这个一会连接那个,说实话我自己看得就非常头晕,更谈不上完全理解了。所以我自己也想尝试一下,看看能不能把原型中的重要知识点拆分出来,用最简单的图表形式说清楚。...转载 2019-03-21 16:58:36 · 138 阅读 · 0 评论 -
dom 事件冒泡、捕获 dom事件三个阶段
本文主要解决两个问题:什么是事件流DOM事件流的三个阶段起因温故了一下我的《JavaScript高级程序设计》的时候,翻到DOM事件那一章,(说实话,现在无论是什么框架你都离不开操作DOM啊,毕竟这是你展示的最基本元素,就像人的细胞)。想起了dom事件流原理,好多人不明白,只知道click mouseout等实用场景,真要理解和更进一步的前端是要必须:理论+实践 并行的。当然,DOM事件...原创 2019-03-21 17:04:37 · 1524 阅读 · 0 评论 -
CSS圆环的5种方法
想到去年面试实习的时候被问到实习圆环的问题,特意写篇文章总结一下吧!总结了一下大概有5种方法。1. 两个标签的嵌套:<div class="element1"> <div class="child1"></div></div>.element1{ width: 200px; heig...原创 2019-03-21 17:22:42 · 3638 阅读 · 1 评论 -
event-loop的理解
JavaScript的学习零散而庞杂,因此很多时候我们学到了一些东西,但是却没办法感受到自己的进步,甚至过了不久,就把学到的东西给忘了。为了解决自己的这个困扰,在学习的过程中,我一直试图在寻找一条核心的线索,只要我根据这条线索,我就能够一点一点的进步。前端基础进阶正是围绕这条线索慢慢展开,而事件循环机制(Event Loop),则是这条线索的最关键的知识点。所以,我就马不停蹄的去深入的学习了事件...原创 2019-03-26 17:47:29 · 300 阅读 · 0 评论 -
js的深拷贝和浅拷贝
浅拷贝我们看一下这个例子:let a = {title:'深复制'};let b = a;a.title = '浅复制';console.log(a)console.log(b)咦,为啥嘞!!!!!!为啥两个都是输出"浅复制"。。。。Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。const object1 = ...原创 2019-03-28 22:21:00 · 218 阅读 · 0 评论 -
CommonJS模块与ES6模块的区别
前面我们已经对ES6的模块化规划和CommonJs的模块化规范已经介绍过了,所以今天我们主要聊聊这两种模块化的差异,如果对这两种模块化规范不是特别了解的,可以点击ES6模块化规范和CommonJs模块化规范ES6 模块与 CommonJS 模块完全不同。它们有两个重大差异。CommonJS输出是值的拷贝,即原来模块中的值改变不会影响已经加载的该值,ES6静态分析,动态引用,输出的是值的引用...原创 2019-03-28 23:07:10 · 496 阅读 · 0 评论 -
访问一个URL经历了哪些过程
从大致上来讲经历了客户端获取URL - > DNS解析 - > TCP连接 - >发送HTTP请求 - >服务器处理请求 - >返回报文 - >浏览器解析渲染页面 - > TCP断开连接1、概要从用户在浏览器输入域名开始,到web页面加载完毕,这是一个说复杂不复杂,说简单不简单的过程,下文暂且把这个过程称作网页加载过程。下面我将依靠自己的经验,总结一...原创 2019-04-03 00:18:35 · 17569 阅读 · 2 评论 -
js 实现将数据导出excel两种方式
由于项目需要,需要在不调用后台接口的情况下,将json数据导出到excel表格,参考了好多资料以及很多大佬写的博客终于实现,兼容chrome没问题方法一将table标签,包括tr、td等对json数据进行拼接,将table输出到表格上实现,这种方法的弊端在于输出的是伪excel,虽说生成xls为后缀的文件,但文件形式上还是html,代码如下<html><head>...原创 2019-07-15 08:45:17 · 671 阅读 · 0 评论 -
前端单元测试框架(Karma/Mocha + Vue-Test-Utils + Chai)
通过我们Vue的项目, 去讲解如何使用mocha &amp; karma, 且结合vue官方推荐的vue-test-utils去进行单元测试在使用vue-cli创建项目的时候,会提示要不要安装单元测试和e2e测试。既然官方推荐我们使用这两个测试框架,那么我们就以此为例实践一下。简介KarmaKarma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runn...原创 2019-03-13 10:14:18 · 4438 阅读 · 0 评论 -
前端性能优化
1. 规避javascript多人开发函数重名问题命名空间封闭空间js模块化mvc(数据层、表现层、控制层)seajs变量转换成对象的属性对象化2. 请说出三种减低页面加载时间的方法压缩css、js文件合并js、css文件,减少http请求外部js、css文件放在最底下减少dom操作,尽可能用变量替代不必要的dom操作3. 你所了解到的Web攻击技术(1)XSS(Cros...原创 2019-02-28 23:16:56 · 197 阅读 · 0 评论 -
ES6 Promise 用法
Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等同样很眼熟的方法。那就new一个var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); ...原创 2019-03-08 17:24:54 · 151 阅读 · 0 评论 -
webpack超详细配置, 使用教程
webpack超详细配置, 使用教程(图文)入门Webpack,看这篇就够了原创 2019-03-08 17:29:59 · 237 阅读 · 0 评论 -
前端闭包
不起眼的开始招聘前端工程师,尤其是中高级前端工程师,扎实的 JS 基础绝对是必要条件,基础不扎实的工程师在面对前端开发中的各种问题时大概率会束手无策。在考察候选人 JS 基础的时候,经常会提供下面这段代码,然后让候选人分析它实际运行的结果:for (var i = 0; i &amp;amp;lt; 5; i++) { setTimeout(function() { console.l...原创 2019-03-06 17:43:31 · 201 阅读 · 1 评论 -
讲讲http和浏览器那些事
1. http和httpshttps的SSL加密是在传输层实现的。(1)http和https的基本概念http: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。https: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下...原创 2019-03-07 00:11:00 · 427 阅读 · 0 评论 -
前端大厂10道经典面试题汇总
1、写一个js函数,实现对一个数字每3位加一个逗号,如输入100000, 输出100,000(不考虑负数,小数)—百度前端面试题解题思路本题是js实现number.toLocaleString()方法,面试题做了简化不考虑负数小数,此题主要是考数据类型及字符串操作,答案不唯一。按现实思路解题,现实中添加千位分隔符是从后到前,每3位添加逗号,所以这里输入数据转换成字符串后,利用slice方法...原创 2019-03-11 21:39:34 · 2496 阅读 · 1 评论 -
前端经典面试题之CSS实现三栏布局,左右宽度固定,中间宽度自适应
前端常问的面试题,题目:假设高度一定,请写出三栏布局,左右宽度300px,中间自适应。下面提供这道题的五种解决方案:首先要写好整个页面的布局(初始化等) <style> html * { padding: 0; margin: 0; } .layout { ...原创 2019-03-20 18:23:08 · 946 阅读 · 0 评论 -
ES6特性
刚开始用vue或者react,很多时候我们都会把ES6这位大兄dei加入我们的技术栈中。但是ES6那么多那么多特性,我们真的需要全部都掌握吗?秉着二八原则,掌握好常用的、有用的这个可以让我们的开发快速起飞。接下来我们就聊聊ES6那些可爱的新特性吧。1.变量声明const和let在ES6之前,我们都是用var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域...原创 2019-03-20 22:07:48 · 162 阅读 · 0 评论 -
Vue-lazyload原理详解之源码解析
前叙本来想要研究mint-ui组件库的Lazy load组件,没想到翻看它的源码,发现它完全引用的vue-lazyload项目,直接引用,没有丝毫修改。因此转而研究vue-lazyload,代码并不多,几百行吧,有兴趣的可以读一下。简单接入示例html代码:<div id="app"> <li v-for="img in imgList"> ...原创 2019-03-20 23:38:39 · 710 阅读 · 1 评论 -
前端面试题(三)
以下主要是前端相关的技术知识点1.你能描述一下渐进增强和优雅降级之间的不同吗?优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效.渐进增强:从被所有浏览器...原创 2019-02-26 14:59:27 · 888 阅读 · 0 评论