面试题
文章平均质量分 52
star@星空
相逢一醉是前缘,风雨散,飘然何处!
展开
-
前端开发规范
目录前端代码规范一.编程规约(一) 命名规范1.1.1 项目命名1.1.2 目录命名1.1.3 JS、CSS、SCSS、HTML、PNG 文件命名1.1.4 命名严谨性(二) HTML 规范 (Vue Template 同样适用)1.2.1 HTML 类型1.2.2 缩进1.2.3 分块注释1.2.4 语义化标签1.2.5 引号(三) CSS 规范1.3.1 命名1.3.2 选择器1) css 选择器中避免使用标签名2) 使用直接子选择器1.3.3 尽量使用缩写属性1.3.4 每个选择器及属性独占一行1.3原创 2021-08-06 10:46:16 · 1056 阅读 · 2 评论 -
vue基础
vue基础原创 2021-01-16 08:24:46 · 4237 阅读 · 5 评论 -
vue中的diff算法
一、是什么diff算法diff 算法是一种通过同层的树节点进行比较的高效算法其有两个特点:比较只会在同层级进行, 不会跨层级比较在diff比较的过程中,循环从两边向中间比较diff 算法的在很多场景下都有应用,在 vue 中,作用于虚拟 dom 渲染成真实 dom 的新旧 VNode 节点比较二、比较方式diff整体策略为:深度优先,同层比较比较只会在同层级进行, 不会跨层级比较比较的过程中,循环从两边向中间收拢下面举个vue通过diff算法更新的例子:新旧VNode节原创 2021-01-15 19:58:24 · 26291 阅读 · 6 评论 -
vue中如何自定义指令directive
vue除了内置指令(v-model,v-for,v-bind…),vue 也允许注册自定义指令.注册自定义指令分为全局注册与局部注册两种:注册注册一个使元素自动获取焦点的指令全局注册使用Vue.diretive()来全局注册指令。// 注册一个全局自定义指令 v-focusVue.directive('focus', { // 当绑定元素插入到 DOM 中。 inserted...原创 2019-12-18 20:07:52 · 8051 阅读 · 1 评论 -
前端必问面试题
vue双向数据绑定原理vue虚拟dom,diff算法组件通信vuexvue-router(路由原理?路由守卫?传参?)生命周期(哪几个?每一个周期特点,可以做什么)自定义指令,自定义过滤器自定义组件常用的指令,修饰符。vue2和vue3的区别keep-alive多环境变量对axios封装,(url统一管理,axios请求拦截、响应拦截,函数封装)element-ui,vant-ui按需引入sass配置rem、vw/..原创 2021-01-06 09:28:43 · 1448 阅读 · 0 评论 -
前端总结大全
记住 88 条精简前端面试题,让面试成为享受前言HTML&CSSJavaScriptVUE网络性能相关前言背的最少、面的最好。你的面试我帮你,夜色正黑,我们出发,感谢各位一直默默关注本侠的小伙伴,你们的关注,是我永恒动力,在此奉上一份大礼。次面试技能题不是最全,却是最精。后期持续优化改进。HTML&CSS浏览器内核 ;盒模型、flex布局、两/三栏布局、水平/垂直居中;BFC、清除浮动;css3动画、H5新特性。JavaScript继承、原型链、this指向、设计模式原创 2020-08-17 11:47:18 · 114045 阅读 · 21 评论 -
清除浮动的4种方式
为什么要清除浮动?清除浮动主要是为了解决,父元素因为子级元素浮动引起的内部高度为0的问题如下:给父盒子设置一个boder,内部放两个盒子一个big 一个small,未给big和small设置浮动,则他们会默认撑开父盒子。当我给内部两个盒子加上float属性的时候底部的footer盒子就会顶上来,然后父盒子因为没设置高度,变成一条线,big和small已经浮动了清除浮动的方法(最常用的4种)一、 额外标签法: 给谁清除浮动,就在其后额外添加一个空白标签 。优点: 通俗易懂,书写方便。(原创 2020-07-27 19:22:05 · 50410 阅读 · 4 评论 -
jsonp原理
前端代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X...原创 2020-04-13 21:28:07 · 2764 阅读 · 0 评论 -
es6解构赋值
什么是结构赋值?解构赋值就是提取数组和对象中的值,对变量进行赋值,这种方法就称为解构赋值但是他需要注意的就是定义和赋值必须要放在一起,否则就会给你报错,取不到数据,解构赋值就是对js的赋值运算符的扩展,它的好处就是让我们能够快速的能从复杂的对象中取出我们想要的数据 // 传统 // var arr = [1,2,3]; //把数组的值分别赋给a,b,c几个变量 // v...原创 2020-04-12 19:03:03 · 228 阅读 · 0 评论 -
从输入url到页面加载完成发生了什么
从输入url到页面加载完成发生了什么详解这是一道经典的面试题,这道题没有一个标准的答案,它涉及很多的知识点,面试官会通过这道题了解你对哪一方面的知识比较擅长,然后继续追问看看你的掌握程度。当然我写的这些也只是我的一些简单的理解,从前端的角度出发,我觉得首先回答必须包括几个基本的点,然后在根据你的理解深入回答。1、浏览器的地址栏输入URL并按下回车。2、浏览器查找当前URL是否存在缓存,并比较...转载 2020-01-03 09:44:06 · 3596 阅读 · 0 评论 -
Vue axios接口封装和api管理
创建 until,api文件夹,分别创建reques.js,index.jsreques.js如下:import axios from 'axios' export function request(config){ // 创建axios对象 const service=axios.create({ baseURL:'https://elm.cangdu.org'...原创 2020-01-02 10:59:18 · 940 阅读 · 0 评论 -
vue路由拦截
官网链接原创 2019-12-31 11:29:20 · 365 阅读 · 0 评论 -
call apply、bind区别
apply、call和bind的区别在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢。相同点:1 、都是用来改变函数的this对象的指向的。2 、第一个参数都是this要指向的对象。3 、都可以利用后续参数传参。那么他们的区别在哪里的,先看一个例子。 var xw = { name :...原创 2019-12-28 20:09:17 · 358 阅读 · 0 评论 -
js数据类型判断
四种方法typeof、instanceof、constructor、Object.prototype.toString.call()1 .typeofconsole.log( typeof 100, //"number" typeof 'abc', //"string" typeof false, //"boolean" typeof undefined, ...原创 2019-12-27 17:26:33 · 5412 阅读 · 0 评论 -
浅拷贝与深拷贝
深拷贝和浅拷贝的区别1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用2.深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用”为什么要使用深拷贝?我们希望在改变新的数组(对象)的时候,不改变原数组(对象)内存模型JS内存空间分为栈(stack)、堆(heap)、池(一般也会归类为栈中)。...原创 2019-12-25 11:34:46 · 5810 阅读 · 1 评论