自定义博客皮肤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)
  • 收藏
  • 关注

原创 Post方式下载文件

post下载文件

2023-02-10 16:18:44 555

原创 面试题总结

一、块级元素和内联元素的区别行内元素有:span a b i img input select strong块级元素有:div p h1-h6 ul table form ul ol li dl dt dd…1.块级元素会独占一行,其宽度自动填满其父元素宽度行内元素不会独占一行,相邻的行内元素会排列到同一行里,直到一行排不下,才会换行,其宽度随元素的内容变化而变化,2.一般情况下,块级元素可以设置width,height属性,行内元素设置width,height无效(注意,块级元素设置了widt

2021-03-18 18:50:39 124

原创 项目结束后打包前webpack配置

目的:提高打包速度减小项目体积、提高首屏加载速度提高用户体验(骨架屏)一、去除生产环境sourceMap问题: vue项目打包之后js文件夹中,会自动生成一些map文件,占用相当一部分空间sourceMap资源映射文件,存的是打包前后的代码位置,方便开发使用,这个占用相当一部分空间。map文件的作用在于:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错,有了map就可以像未加密的代码一样,准确的输出是哪一行哪一列有错。生产环境是不需

2021-03-11 11:57:14 282

原创 Vue虚拟Dom和Diff原理

1.什么是Virtral DOM?Virtual DOM 其实就是一棵以 JavaScript 对象( VNode 节点)作为基础的树,用对象属性来描述节点,实际上它只是一层对真实 DOM 的抽象。最终可以通过一系列操作使这棵树映射到真实环境上。简单来说,可以把Virtual DOM 理解为一个简单的JS对象,并且最少包含标签名( tag)、属性(attrs)和子元素对象( children)三个属性。不同的框架对这三个属性的命名会有点差别。对于虚拟DOM,咱们来看一个简单的实例,就是下图所示的这个,详细

2021-01-08 16:58:53 331

原创 Vue双向数据绑定原理(面试必问)

答案:vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图。具体步骤需要observer的数据对象进行递归遍历,包括子属性对象的属性,都加上 setter和getter这样的话,给这个对象的某个值赋值,就会触发setter,那么就能监听到了数据变化compile解析模板指令,将模板中的变量替换成数据,然后初始化渲染页面视图,并将每个指令对应

2021-01-08 14:26:31 22265

原创 vue移动端项目搭建流程

一、先对我们的项目进行基本的配置首先在根目录下创建一个vue.config.js文件(用来配置我们的跨域等一系列问题)配置多环境变量package.json 里的 scripts 配置 serve stage build,通过 --mode xxx 来执行不同环境通过 npm run serve 启动本地 , 执行 development通过 npm run stage 打包测试 , 执行 staging通过 npm run build 打包正式 , 执行 production"

2021-01-05 08:07:29 1376

原创 es6中的class与继承

一、 类1. ES5中的类ES5中如果要生成一个对象实例,需要先定义一个构造函数,然后通过new操作符来完成。示例://构造函数名大写(非强制,但这么写有助于区分构造函数和普通函数)function Person(name,age) { this.name = name; this.age=age;}Person.prototype.say = function(){ return "我的名字叫" + this.name+"今年"+this.age+"岁了";}va

2020-12-27 20:55:47 113

原创 变量计算-类型转换

一、字符串拼接const a = 100 + 10 //100const b = 100 + '10' // '10010'const c = true + '10' //'true10'如果我们需要拼接字符串需要先将字符串转化为数字然后计算parInt二、==运算符100 == ‘100’ //true0 == ''//true0 == false//truefalse == ''//truenull == undefined //true==运算符会尽量尝试转换之后相等(会导致

2020-12-27 20:29:00 273

原创 深拷贝

一、深拷贝深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的。手写深拷贝(递归):/** * 深拷贝 */const obj1 = { age: 20, name: 'xxx', address: { city: 'beijing' }, arr: ['a', 'b', 'c']}const obj2 = deepClone(obj1)obj2.address.city = 'shanghai'obj2.arr[

2020-12-27 19:53:57 127

原创 typeof

变量类型一、值类型vs引用类型值类型数据会直接存储到自己的栈中(互不干涉)let a = 100let b= aa = 200console.log(b)//100引用类型let a = {age:20}//先向堆中申请一个内存地址存储{age:20}let b = a //复制的其实是a的内存地址b.age = 21console.log(a.age)//21 b.age修改了a的内存地址的数据,所以a.age=21因为考虑到我们性能和存储的问题,所以值类型的占用空间比

2020-12-27 19:49:08 246

原创 Promise

什么是Promise概述:Promise是异步编程的一种解决方案,从语法上讲,Promise是一个对象,可以获取异步操作的消息目的:(1)避免地域回调问题(2)Promise对象提供了简洁的API,使得控制异步操作更加容易可以链式调用resolved,rejected函数:在异步事件状态pendding->resolved回调成功时,通过调用resolved函数返回结果;当异步操作失败时,回调用rejected函数显示错误信息then的用法:then中传了两个参数,第一个对应resol

2020-12-17 11:59:21 172

原创 es6解构赋值

26

2020-12-16 11:34:07 77

原创 项目流程

项目流程vue后台管理系统文章目录项目流程vue后台管理系统开发流程一、 安装环境1.1 安装node1.2 安装cnpm 或者 配置淘宝镜像源1.3 安装vue脚手架1.4 安装开发工具1.5 安装postman1.6 安装git1.7 安装photoshop1.8 ...一些其他开发所需要的工具二、使用vue脚手架创建项目2.1 使用vue-cli创建项目2.2 选择默认安装依赖或者手动安装依赖三、安装项目中所需要一些插件3.1 安装axios3.2 安装element-ui3.3 ...项目中所需

2020-12-15 18:36:05 236

原创 箭头函数与普通函数的区别

箭头函数与普通函数区别一、箭头函数是匿名函数,不能作为构造函数,不能使用new。不能使用new关键字,不然会报错二、箭头函数内没有arguments,可以用展开运算符…解决三、箭头函数的this,始终指向父级上下文(箭头函数的this取决于定义位置父级的上下文,跟使用位置没关系,普通函数this指向调用的那个对象)var a=200;let obj={ a:100, fn:function(){ //es5 谁调用,this指向谁 console.l

2020-12-15 17:09:03 175

原创 javascript原型与原型链

javascript原型与原型链1. prototype每个函数都有一个prototype属性,被称为显示原型2. _ proto _每个实例对象都会有_ proto _属性,其被称为隐式原型每一个实例对象的隐式原型_ proto _属性指向自身构造函数的显式原型prototype3. constructor每个prototype原型都有一个constructor属性,指向它关联的构造函数。4. 原型链获取对象属性时,如果对象本身没有这个属性,那就会去他的原型__proto__上去找,

2020-11-25 07:51:36 125

原创 let、const、var 的区别

Es61. let、const、var 的区别1.是否存在变量提升?var声明的变量存在变量提升(将变量提升到当前作用域的顶部)。即变量可以在声明之前调用,值为undefined。let和const不存在变量提升。即它们所声明的变量一定要在声明后使用,否则报ReferenceError错。console.log(f) //undefinedvar f = 1 ;console.log(g) //ReferenceError: g is not definedlet g = 2;co

2020-11-23 16:01:07 168

原创 Git

1.Git1.1git是什么?Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。1.1.1什么是版本管理版本管理是一种记录文件变化的方式,以便将来查阅特定版本的文件内容。1.2 Git 的使用1.2.1 Git 使用前配置配置提交人姓名:git config --global user.name 提交人姓名配置提交人姓名:git config --global user.email 提交人邮箱.查看

2020-11-20 22:06:33 128

空空如也

空空如也

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

TA关注的人

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