数组

isArray 检测一个值是否为Array 返回true/false 适用场景: 判断一个值是数组且长度存在 语法Array.isArray(obj) obj 需要检测的值。 1234567891011121314151617<template> <!-- 当list为数组且长度存在的时候在进行渲染 --> <div class="container&

箭头函数

定义12345678910111213141516171819202122// 无参数定义const fn = () => { return '渡远荆门外';};console.log(fn()); // 渡远荆门外// 一个参数定义const fn1 = str => { return str;};console.log

语句和声明

try…catch try...catch 用来检测代码执行过程中出现的错误,并捕获错误(可以避免由于某个js错误造成页面渲染出错) 实用程度: 12345try{ // 这里是我们正常的业务逻辑,改写什么就写什么} catch(error) { // 如果try模块内的代码执行出错,出错之后的代码不会再执行,此时会进入catch模块,error是具体的出错原因

JS event loop

事件队列与同步异步事件首先,Javascript 是一个单线程语言。所以就是说在一行代码的执行过程,必然不会存在同时执行另一行代码,也就是说一个时间只会干一件事。就像使用 alert()(alert是同步执行的) 以后进行 console.log ,再 alert() 没有确认之前,控制台是不会有输出的。 所以,如果全部代码都同步执行,就会出现这样一个场景,如果我要从后端调接口获取一些数据,但由于

webpack性能优化

一个项目的开始总是需求简单,功能简单,项目简单,但是随着功能的越来越复杂,项目也变得越来越大,相应的打包时间也越来越长,打出来的包也越来越大,那么基于此,对于webpack的性能优化我们也聚焦于两个方面: 缩短项目打包耗时 缩小项目体积 缩短项目打包耗时针对于缩短打包耗时,我们首先需要了解影响打包耗时的元凶是什么;影响打包耗时有两个主要因素 一是构建过程 ,二是代码压缩 过程;如此,那我们对于

函数节流与函数防抖

场景节流的常见场景在日常开发中,我们可能会遇见这么一种场景,一个元素的宽高需要跟随窗口的变化来变化;例如:当我们使用 element-UI 的表格组件时,表格的数据是不确定的,但我们需要固定表头,当内容过多时可以对内容进行滚动,这时我们就需要给组件提供一个具体的高度,但是浏览器的窗口宽高是会变化的(人为的去缩放浏览器),这就要求我们去监听窗口的变化,当窗口宽高变化的时候,执行一个函数,重新计算浏览

前端技术发展史

原始时代web 1.0 时代,是不存在前端概念的,大家都在使用 jsp、php、asp。得益于 jsp 的强大,开发微型项目的时候,可以很快的开发出来,但相对的,编写大型项目的时候问题也会很明显的暴露出来。业务体系增大,调试困难;jsp 混杂业务,后期难以维护;不区分职责 后端MVC时代由于 1.0 时代的问题,为了代码更好维护,也为了明确前后端的职责。此时后端出现了MVC框架( Spring,S

前端面试自问自答

自我介绍自我介绍是面试的开场白,是非常非常非常重要的一环,如果你的自我介绍只有个人信息(姓名,年龄,毕业学校,几年工作经验)的话,那么面试官是从你的自我介绍中提取不出来任何有效信息的,当你自我介绍结束,面试官也不知道他该问你什么,而且自我介绍时间也非常短,你自我介绍完了,你简历的第一页,面试官可能也就刚把基本信息看完。 当面试官不知道问你什么的时候,那么他就只能问他熟悉擅长的的,然后整场面试的主动

在浏览器输入一个地址发生了什么

DNS解析 浏览器拿到地址栏的地址后,先在浏览器的DNS缓存中检索,如果检索到了直接返回地址对应的IP地址;没有检索到则继续检索操作系统的DNS缓存,还没有检索到就读取用户的host配置,最终如果检索到了,就返回地址对应的服务器IP;但是这个时候拿到的IP地址,会被标记为非权威服务器的应答 如果在缓存中最终也没有检索到,就会从配置文件读取读取13个根域名的服务器地址 然后向其中的一台发起请求 根

如何明显的提高前端性能?

如果遇到这题,需要明白,面试官实质要问的就是前端性能优化 。 前端性能优化可以分为执行性能 和 加载性能 。 执行性能 即代码运行过程中的性能优化,常见的如:避免不必要的DOM操作,避免深层次的html元素嵌套,图片懒加载,CSS的代码顺序,减少冗余的js代码……执行性能与每个开发者的技能水平相关,也需要开发者提高对自身的要求。更重要的是执行性能并非本文关注的重点。 加载性能 即在相同的网络环境下