自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 css实现自适应正方形

【代码】css实现自适应正方形。

2024-03-17 02:00:00 402

原创 数组是1-100 里的 98 个数字 无重复 无序 如何判断出缺少的两个元素

【代码】数组是1-100 里的 98 个数字 无重复 无序 如何判断出缺少的两个元素。

2023-03-22 13:36:01 67

原创 js 小数减乘除精度丢失

【代码】js 小数减乘除精度丢失。

2023-03-16 13:59:18 92

原创 post请求传参方式

x-www-form-urlencoded参数请求方式 const obj = { apply: '2', caCode: '001', type: '2' }; console.log(1111111111111111111111111111111111111111, qs.stringify(obj)); // "apply=2&caCode=001&type=2"x-www-form-urlencoded参数请求方式

2021-07-21 11:37:27 245

转载 Vue-DevTools的安装使用

Vue-DevTools的安装使用方法一:点击谷歌浏览器右上角 「三点 」图标更多工具-----扩展程序-----谷歌商店-----找到Vue-DevTools安装即可这种方法必须翻墙,如果可以翻墙很简单,要是不能,我们可以换第二种方法。方法二进入https://github.com/vuejs/vue-devtools/tree/master1、可以直接download到本地解压后,到vue-devtools-master文件夹中,执行 cnpm install 这个过程很慢很慢

2021-04-20 17:34:03 296

原创 菜鸟看前端(new关键字)

JavaScript new()关键字发生了什么?new运算符会创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一1 创建一个javascript空对象 {};2 将要实例化对象的原形链指向该对象原形。3 绑定该对象为this的指向4 返回该对象。...

2021-03-29 10:40:57 97

原创 菜鸟看前端(http状态码)

1XX: 指示信息2XX:成功状态码200:请求成功201:请求成功,并且服务器创建了新的资源202:服务器以接受请求,但尚未处理3XX: 重定向301:永久重定向302:临时重定向304:代表上次的文档已经被缓存了,还可以继续使用。如果你不想使用本地缓存可以用Ctrl+F5 强制刷新页面4XX:客户端错误400:客户端请求的语法错误,服务器无法理解401:本次请求要求用户的身份认证403:服务器理解请求客户端的请求,但是拒绝执行此请求404:服务器无法根据客户端的请求找

2021-03-29 10:22:12 122

原创 菜鸟看前端(0.1 + 0.2 === 0.3 ?????)

javascr 0.1 + 0.2 === 0.3 ????先看图片答案是 : false那0.1 + 0.2 答案到底是多少呢?这是为什么呢??? 疯狂查资料得出答案。。。因为在《Javascript权威指南》中有提到,JS是不区分整数和浮点数的,JS采用的是IEEE 754标准定义的64位浮点格式表示数字,所以JS中的所有数字都是浮点数。...

2021-03-29 10:04:18 165

原创 菜鸟看前端(vue脚手架配置跨域)

vue cli3 之后没有了vue.config.js的文件,所以我们要在根目录新建文件module.exports={ devServer: { proxy:{ '/api':{ target:'http://127.0.0.1:3002/',//跨域请求资源地址 ws:false,//是否启用websockets changeOrigin:true,//.

2021-03-12 10:33:00 98

原创 菜鸟看前端(rem适配)

一 下载插件npm i postcss-pxtorem -Snpm i amfe-flexible -S二. 在vue.config.js对css进行设置const autoprefixer = require('autoprefixer');const pxtorem = require('postcss-pxtorem');module.exports = { css:{ sourceMap:false, loaderOptions: {

2021-03-02 15:42:49 94

原创 菜鸟看前端(for...in和for...of)

for…in 和 for…of的区别for…in遍历数组会得到下标,for…in遍历对象得到是对象的key值,for…of遍历数组得到的是value,for…of直接遍历对象会报错需要配合Object.keys(),得到的也是对象的key值,for …in 配合Objectkeys()遍历对象,得到的是下标Objectkeys():方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致 。for…in遍历数组会得到下标 var

2021-01-20 21:56:09 950 1

原创 菜鸟看前端(浅拷贝和深拷贝(递归实现深拷贝))

深拷贝和浅拷贝深拷贝:创建一个新的对象和数组,将原对象的各项属性的值(数组的所有元素)拷贝过来,是值而不是’引用’浅拷贝:将原对象或数组的引用直接赋给新对象或新数组,新数组/新对象只是原对象的一个引用递归实现深拷贝function deepClone(obj){ // 判断传入的参数是不是对象或数组,如果传入的是null或者不是对象或数组return 返回 // 用typeof来检测 数组的检测结果也是object if(typeof obj !== 'object'

2021-01-20 21:36:33 123

原创 菜鸟看前端(数组去重)

数组去重filter去重 var arr = [1, 2, 1, 2, 'true', 'false', true, 'true', 'false'] arr1 = arr.filter((item,index)=>{ return arr.indexOf(item) === index }) console.log(arr1)indexOf去重 var arr = [1, 2, 1, 2, 'true', 'false', true,

2021-01-20 21:34:04 85

原创 菜鸟看前端(类型判断)

类型判断1. typeof可以检测所有的基本/值类型能判断函数可以判断是否时引用类型,引用类型都为object2. instanceofinstanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上console.log( 100 instanceof Number, //false 'dsfsf' instanceof String, //false false instanceof Boolean,

2021-01-20 21:29:25 147

原创 菜鸟看前端(link和@import的区别)

link和@import的区别link属于html标签。@import在css中使用表示导入外部样式表;页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;import只在IE5以上才能识别,而link是HTML标签,无兼容问题;link方式的样式的权重 高于@import的权重;link 支持使用javascript改变样式 (document.styleSheets),后者不可...

2021-01-20 20:40:19 86

原创 菜鸟看前端(src和href的区别)

src和href的区别href 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。src是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。...

2021-01-20 20:37:49 222

原创 菜鸟看前端(作用域和变量提升)

目录作用域概念作用域的种类作用域链自由变量作用域面试题变量提升var声明的变量会把声明提前函数声明也会把整个函数提升到作用域的最上面函数表达式不能变量提升,只会把申明的var fn 提升到作用域的最顶端变量提升面试题作用域概念作用域:一个变量可以起作用的范围,分为全局作用域,局部作用域,ES6中新增的块级作用域作用域的种类js中首先有一个最外层的作用域,为全局作用域js可以通过函数来创建一个独立的作用域称为函数作用域,函数可以嵌套,作用域也可以嵌套ES6新增了块级作用域{},比如if{

2021-01-20 20:10:29 102

原创 菜鸟看前端(this指向)

this指向在浏览器里,在全局范围内this 指向window对象;在函数中,this永远指向最后调用他的那个对象;构造函数和class类中,this指向new出来的那个实例化的对象;call、apply、bind中的this被强绑定在指定的那个对象上;箭头函数中this比较特殊,箭头函数this为父作用域的this,不是调用时的this.要知道前四种方式,都是调用时确定,也就是动态的,而箭头函数的this指向是静态的,声明的时候就确定了下来,不能修改this指向call()方法和ap

2021-01-20 17:00:02 88

原创 菜鸟看前端(闭包)

闭包闭包的产生: 当函数作为参数被传递时,函数作为返回值被返回时什么是闭包javascript语言的特殊处就是函数内部可以读取外部作用域中的变量。我们有时候需要得到函数内的局部变量,但是在正常情况下,这是不能读取到的,这时候就需要用到闭包。在js中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。闭包是指有权访问另一个函数作用域中的变量的函数。其本质是函数的作用域链中保存着外部函数变量对象的引用闭包的应用场景实际应用(隐藏数据):为什么说隐藏

2021-01-20 16:48:57 102 1

原创 菜鸟看前端(垃圾回收机制)

垃圾回收机制浏览器的 Javascript 具有自动垃圾回收机制(GC:Garbage Collecation),也就是说,执行环境会负责管理代码执行过程中使用的内存。其原理是:垃圾收集器会定期(周期性)找出那些不在继续使用的变量,然后释放其内存。但是这个过程不是实时的,因为其开销比较大并且GC时停止响应其他操作,所以垃圾回收器会按照固定的时间间隔周期性的执行。标记清除js中最常用的垃圾回收方式就是标记清除。当变量进入环境时,例如,在函数中声明一个变量,就将这个变量标记为“进入环境”。从逻辑上讲

2021-01-20 16:40:43 265

原创 菜鸟看前端(文档碎片)

文档碎片DocumentFragments 是DOM节点。它们不是主DOM树的一部分。通常的用例是创建文档片段,将元素附加到文档片段,然后将文档片段附加到DOM树。在DOM树中,文档片段被其所有的子元素所代替。因为文档片段存在于内存中,并不在DOM树中,所以将子元素插入到文档片段时不会引起页面回流(对元素位置和几何上的计算)。因此,使用文档片段通常会带来更好的性能。<!DOCTYPE html><html> <head> <meta charset

2021-01-19 22:02:03 143

原创 菜鸟看前端(js获取盒模型)

js获取盒模型<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> *{ margin: 0; padding: 0; } #app{ width: 100px; height: 100px; border: 5px so

2021-01-19 20:39:06 234 3

原创 菜鸟看前端(JS获取DOM二)

JS获取DOM二<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <ul> <li>111111</li> <li>222222</li> <li id="li">333333</l

2021-01-19 20:32:01 107

原创 菜鸟看前端(JS操作DOM(创建,添加,删除,替换))

JS操作DOM(创建,添加,删除,替换)<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="../bootstrap.css" /> </head> <body> <button type="

2021-01-19 19:56:30 194

原创 菜鸟看前端(js获取DOM)

js操作dom,获取盒模型大小 <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #box{ width: 500px; height: 100px; background-color: #0088dd; } </s

2021-01-19 17:00:09 218

原创 菜鸟看前端(BFC,双边距重合)

文章目录BFC1. 什么是BFC2. 如何触发BFC3. BFC原理4.BFC应用BFC1. 什么是BFCBFC就是“块级格式化上下文”的意思,BFC是一块独立的布局环境,保护其中内部元素不收外部影响,也不影响外部。本身BFC是一种css的布局方式,只是我们可以利用它来解决外边距折叠的问题,BFC并不是专门用来解决这个问题而创的;2. 如何触发BFC1. overflow: auto/ hidden;2. position: absolute/ fixed;3. float: left/

2021-01-18 20:10:00 243

原创 菜鸟看前端(盒模型)

文章目录盒模型1. 什么是盒模型2.盒模型有几种3. 标准和怪异模型的转换盒模型1. 什么是盒模型在我们HTML页面中,每一个元素都可以被看作一个盒子,而这个盒子由:内容区(content)、填充区(padding)、边框区(border)、外边界区(margin)四部分组成。2.盒模型有几种怪异盒模型一个块的总宽度= width + margin(左右)(即width已经包含了padding和border值)(IE浏览器)标准盒模型一个块的总宽度(页面中占的宽度)=

2021-01-18 19:28:05 72

原创 菜鸟看前端(路由守卫)

文章目录VUE Router路由守卫一.全局路由守卫二.路由独享守卫三.组件内的守卫四.完整的导航解析流程VUE Router路由守卫vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。一.全局路由守卫使用router.beforeEach((to,from,next)=>{})来注册一个全局路由守卫,可以在router下的index.js下定义,也可以在main.js中来定义//设置路由导

2021-01-16 07:51:13 300

原创 菜鸟看前端(时间戳转换)

时间戳转换自定义过滤器转换,百度一搜一大把,这篇博客讲的是vue中使用Moment.jsvue中使用moment.jsMoment.js官网先下载插件npm install moment --save在main.js中导入import moment from 'moment'//导入文件Vue.prototype.$moment = moment;//赋值使用 moment.locale('zh-cn');//需要汉化在要使用的组件中导入import moment

2021-01-13 16:09:28 157

原创 菜鸟看前端(vue常用指令和修饰符)

vue常用指令v-model 多用于表单元素实现双向数据绑定v-for 格式: v-for="(item,index) in/of 数组json" 循环数组或jsonv-show 显示内容 ,通过display=block/none来控制元素隐藏出现v-hide 隐藏内容 同上v-if 显示与隐藏 (dom元素的删除添加 同angular中的ng-if 默认值为false)v-else-if 必须和v-if连用v-else 必须和v-if连用 不能单独使用 否则报错 模板编译错误v-bin

2021-01-12 07:57:20 156

原创 面试必看

文章目录面试题一 vue二 存储三 js四 html,css面试题一 vuevue双向数据绑定虚拟DOM和diff算法vue生命周期vue组件通信vuexkeep-alivevue多环境配置axios的封装vant-ui按需引入Element-ui按需引入二 存储cookie,localSrorage,sesssionStorage三 jsvar,let const区别ES6结构赋值箭头函数和普通函数的区别JS继承JS变量类型深拷贝四 html,css

2021-01-11 16:41:41 221 1

原创 菜鸟看前端(傻瓜式Element-ui按需引入)

文章目录Element -ui 按需引入执行`vue add element`命令选择按需导入(方向键选择,选择第二个按需引入)安装完成之后会自动创建所需文件Element -ui 按需引入执行vue add element命令选择按需导入(方向键选择,选择第二个按需引入)安装完成之后会自动创建所需文件1. src/plugins/element.js文件内用来按需导入所用的插件2. 根目录下创建babel.config.js,配置按需引入(也是自动生成)3. 在main.js中也给引入

2021-01-11 16:16:23 314

原创 菜鸟看前端(webapck优化——配置alias别名)

配置别名使用vue-cli开发项目,最大特色是组件化。组件中频繁引用其他组件或插件。我们可以把一些常用的路径定义成简短的名字。方便开发中使用。//加载path模块const path = require('path')//定义resolve方法,把相对路径转换成绝对路径const resolve = dir => path.join(__dirname, dir)module.exports = { chainWebpack: config => { // 添加别名

2021-01-11 16:01:22 394 1

原创 菜鸟看前端(cookie,localSrorage,sesssionStorage)

文章目录1. cookie2. localStorage,sesssionStorage3. localStorage,sessionStorage与cookie的区别4. localStora与sessionStorage的区别5. localStorage,sessionStorage的API1. cookieCookie设计初衷是用来和服务器通讯,而不是本地存储,他只是被‘借用’到本地存储。cookie的缺点存储大小,最大为4kbhttp请求时需要发送到服务器,增加请求数据量只能用do

2021-01-11 09:28:04 156

原创 菜鸟看前端(虚拟DOM和diff算法)

文章目录一. 什么是虚拟DOM1. 虚拟DOM2. vue中创建虚拟DOM3. vue简化后虚拟DOM二.为什么使用虚拟DOM1. 虚拟DOM优点2. 虚拟DOM缺点3.JS操作真实DOM三. diff算法1.什么是diff算法2.diff算法大概逻辑3.diff算法步骤4. diff算法优缺点一. 什么是虚拟DOM用js来模拟DOM中的节点。一个能代表dom树的对象,通常含有标签名,标签上的属性,事件监听和子元素们,以及其他属性1. 虚拟DOM2. vue中创建虚拟DOM3. vue简化

2021-01-10 19:49:49 708

原创 菜鸟看前端(vue生命周期)

基础版本vue的生命周期1.创建beforeCreate() 创建前的阶段,这个时候data中的数据,还未定义,所以不能使用created() 最早开始使用 data和methods中数据的钩子函数2.挂载beforeMount() 指令已经解析完毕内存中已经生成dom树,还没有渲染到本地mounted() dom已经渲染完毕,最早可以操作DOM元素钩子函数3.更新beforeUpdate() 当data的数据发生改变会执行这个钩子 内存更新,但是DOM节点还未更新updated()

2021-01-10 19:24:35 133

原创 菜鸟看前端(组件通信)

文章目录基础版本1.父传子2.子传父3.兄弟组件通信基础版本1.父传子(1)在父组件的子组件标签上绑定一个属性,挂载要传输的变量(2)在子组件中通过props来接受数据,props可以是数组也可以是对象,接受的数据可以直接使用 props:[“属性 名”] props:{属性名:数据类型}2.子传父(1)在父组件的子组件标签上自定义一个事件,然后调用需要的方法(2)在子组件的方法中通过 this.$emit(“事件”)来触发在父组件中定义的事件,数据是以参数的形式进行传递的3.兄

2021-01-10 19:21:15 123

原创 菜鸟看前端(vue配置axios)

axios配置在src目录下新建http文件夹,里面新建api.js,request.js,http.jstip:所有文件夹,文件都可以重新命名api.js用来统一管理请求地址http.js用来封装请求函数request.js用来封装axios基础地址从多环境变量中以配置// 导入即可使用基础地址import { baseApi } from '@/config'在request.js下封装axios基础地址从多环境变量中以配置,我们导入即可,在axios实例中设置

2021-01-10 19:15:46 227

原创 菜鸟看前端(vue项目多环境配置)

文章目录1. 配置多环境启动2.在根目录下新建`.env.`3.新建文件夹管理环境配置1. 配置多环境启动package.json 里的 scripts 配置 serve stage build,通过 --mode xxx 来执行不同环境 "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "stage": "vue-cli-service build --mode

2021-01-10 18:26:35 264

原创 菜鸟看前端(浅谈vue的双向数据绑定)

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

2021-01-09 07:58:08 119

空空如也

空空如也

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

TA关注的人

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