自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 W3C标准

我们知道,HTML5添加了标签的容错性,在书写方面变得更灵活。不像XHTML那样,有严格的代码规范,不符合规范就不给我们解析。那么,我们在写代码时为什么还要刻意去符合哪些所谓的“规范”呢?答案这一个就够了:利人利己,便于维护!如果你写的代码不符合“规范”,查找代码的错误时或者后期的维护会让你痛恨自己当初怎么会写出那么乱的代码。有些规范我们也许平时不注意,但无形中也用了。为了避免漏掉一些规范,我这里就整理一下,以便以后有意识的去用。1、现在是HTML5的时代,我们有必要去让浏览器也意识到XHTML的时

2022-04-02 16:15:05 1018

原创 Vscode好用的插件及配置

路径补全名称: Path Intellisense"path-intellisense.mappings": { "@": "${workspaceRoot}/src" }**TabNine机器学习自动补全变量 / 学习模拟结构 ,自动补全。可以智能识别写过的代码结构。以css为简单例子 ,假如你前文写过多次 height:1.07rem line-height: 1.07rem;** Rainbow Brackets**彩虹括号 ,让括号更易识别自闭合标签名称: A

2022-03-29 17:33:17 1045

原创 Ant Design Vue 中的List组件(渲染列表加分页加进度条)

<template> <a-list item-layout="vertical" size="large" :pagination="pagination" :data-source="myClass"> <template #renderItem="{ item }"> <div class="myclass-div"> <a-list-item> <a-list-item-me

2022-03-25 17:03:45 2291

原创 vue树形菜单无限渲染

tree_for(tree_chil) {//最外层渲染for (let i = 0; i < tree_chil.length; i++) {let arr = {};arr.label = tree_chil[i].branchName;arr.branchId = tree_chil[i].branchId;if (tree_chil[i].childrens.length > 0) {arr.children = this.tree_childrens(tree_chil[

2022-03-14 13:39:53 1095

原创 http面试题

http面试题前端工程师开发界面需要调好后端的接口,提交/获取 数据-------http协议要求事先掌握好ajaxhttp常见的状态码有哪些?临时响应100——客户必须继续发出请求101——客户要求服务器根据请求转换HTTP协议版本成功200——服务器成功返回网页201——提示知道新文件的URL202——接受和处理、但处理未完成203——返回信息不确定或不完整204——请求收到,但返回信息为空205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件206——服务器

2021-03-25 20:40:35 69

原创 前段面试(Dom)

述DOM事件捕获/冒泡的具体流程捕获 — window --> document --> html --> body --> … --> 目标元素冒泡 —目标元素 … --> body --> html --> document --> window补充扩展:扩展一个可能会遇到的小问题:就是如何获取html标签通过document.documentElement来获取Event对象的常见应用event.preventDefault()

2021-03-21 21:28:10 59

原创 JS基础-异步***

let i,afor(i=0;i<10;i++){ a=document.createElement('a') a.innerHTML = i+'<br>' a.addEventListener('click',function(e){ e..preventDefault() alert(i) }) document.body.appendChild(a)}作用域作用域都有同意的作用域全局作用域let a = 0function fn1(){ let a

2021-03-17 21:52:31 64

原创 JS基础变量类型和计算

变量类型值类型VS引用类型typeof运算符深拷贝值类型let a =100let b = aa = 200console.log(b) //100引用类型let a = { age:20 }let b = ab.age = 21console,log(a.age)常见引用类型const obj = { x : 100 }const arr = ['a','b','c'] const n = null //特殊引用类型,指针指向为空的地址//特殊引用类型,但

2021-03-15 21:50:24 106

原创 Vue项目前端性能优化

一、vue-router路由懒加载懒加载是当路由被访问的时候才加载对应组件,而不是在首页就全部加载,以此来提高首页反应速度。方法和原理require-ensure说明: require.ensure在需要的时候才下载依赖的模块,当参数指定的模块都下载下来了(下载下来的模块还没执行),便执行参数指定的回调函数。require.ensure会创建一个chunk,且可以指定该chunk的名称,如果这个chunk名已经存在了,则将本次依赖的模块合并到已经存在的chunk中,最后这个chunk在webp

2021-01-19 20:02:28 235

原创 Promise使用和async的使用

Promise的使用Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等方法。5let p = new Promise((resolve, reject) => { //做一些异步操作 setTimeout(() => { console.log('执行完成'); resolve('我是成功!!'); }, 2000);});Promise的构造函数接收一个

2021-01-16 20:52:36 211

原创 rem 针对设计稿宽度,设计rem调试比例

rem原理:rem 是(根)字体大小相对单位,也就是说跟当前元素的font-size没有关系,而是跟整个body的font-size有关系。css3规定:1rem的大小就是根元素html的font-size的值。通过设置 根元素<html>的font-size的大小,来控制整个html文档内的字体大小、元素宽高、内外边距等,根据移动设备的宽度大小来实现自适应,不同的设备都展示一致的页面效果。rem宽度比例 设计稿宽度:1rem = 100px引入:页面开头出引入下面这段代码,用于动

2021-01-14 21:58:04 815

原创 js单线程,事件循环,微任务宏任务

JS单线程概念:一个程序一个程序中只可以执行一个任务为什么js是单线程单线程是只指同一时间只能做一件事,js的单线程与它的用途有关,js的主要作用域用户互动以及操作DOM,这决定了它只能是单线程,否则会带来很复杂的同步问题;如:js同时有两个线程,一个线程在某个DOM节点添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准?为了利用多核CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以,这

2021-01-14 21:46:55 116

原创 深拷贝与浅拷贝,原型,类型校验

深拷贝 与 浅拷贝 原型 类型校验前提:深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的。1. 堆栈内存具体看另一篇博客数据类型、堆栈存储2. 浅拷贝与深拷贝深拷贝和浅拷贝的示意图大致如下:浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。赋值和浅拷贝的区别赋值:把一个对象赋值给一个新的变量时,赋的其实是该对象的在栈中的地址,而不是堆

2021-01-13 20:52:44 114

原创 Github 的使用,小型服务器,查询项目,协同开发,以及sourcetree使用

Github在版本控制系统中,大约90%的操作都是在本地仓库中进行的:暂存,提交,查看状态或者历史记录等等。除此之外,如果仅仅只有你一个人在这个项目里工作,你永远没有机会需要设置一个远程仓库。只有当你需要和你的开发团队共享数据时,设置一个远程仓库才有意义。你可以把它想象成一个 “文件管理服务器”,利用这个服务器可以与开发团队的其他成员进行数据交换。注册访问github首页,点击 Sign up 连接。(注册)填写用户名、邮箱地址、GitHub登陆密码选择计划填写 GitHub 问题验

2021-01-13 20:40:58 212

原创 VUEX

VUEX辅助函数如果在一个组件中需要获取多个状态,通过this.$store.state来声明就会显得有些重复跟冗余,通过mapState这个辅助函数可以帮助生成计算属性。在store文件中定义statestate:{ number1:1, number2:2}在组件中使用mapState,放置在computed里面。// App.vue<template> <div> <h1>{{number1}}</h1> <

2021-01-12 21:50:16 52

原创 git的使用

git简介Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。常用的git命令Git理论基础工作区域:Git本地有三个工作区域:1、工作目录2、暂存区3、资源库。Workspace:工作区,就是你平时存放项目代码的地方Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息。Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。

2021-01-12 21:36:16 71

原创 冒泡排序和递归

冒泡排序和递归冒泡排序:遍历整个数组,依次比较相邻的两个值,如果前一个值比后面的值大,即交换他们的位置,依照这个规则进行多次并且递减的迭代,直到顺序正确。实现冒泡排序的思路:数组中有 n 个数,比较每相邻两个数,如果前者大于后者,就把两个数交换位置;这样一来,第一轮就可以选出一个最大的数放在最后面;那么经过 n-1(数组的 length - 1) 轮,就完成了所有数的排序。冒泡排序的实例function bSort(arr) { var len = arr.length; for (va

2021-01-11 20:50:30 251

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除