自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 资源 (1)
  • 收藏
  • 关注

原创 map,存储多个键值对的数据集合

在ES5中,我们使用的是对象的方式来存储键值对,键是属性名,值是属性值,这种方法有以下问题1)键名只能是字符串2)获取数据的数量不方便3)键名容易跟原型上的名称冲突ES6中新增了map集合专门用于存储多个键值对数据。键值对(key value pair)数据集合的特点:键不可重复。1.创建map1)new Map() —— 创建一个空的map2)new Map(iterable) —— 创建一个具有初始内容的map,初始内容来自于可迭代对象每一次迭代的结果,但是,它要求每一次..

2020-06-26 18:36:27 8035 1

原创 overflow属性详解

overflow是对溢出内容的处理,有四个属性值visible,hidden,scroll,auto,且可以分别设置overflow-x,overflow-y,需要注意的是:当单独设置了overflow-x或者overflow-y时(visible除外),另一个默认属性值为auto,如【例5】。下面先来介绍它的四个属性值1.visible(默认值):使溢出内容展示2.hidden...

2020-04-01 23:09:25 46515 6

原创 Matlab之logspace

第一次写博客,小激动~今天学习matlab遇到  logspace函数首先书上给的定义是logscape函数是用来创建指数等差数列,语法描述如下logspace(x1,x2)——在从10^x1到10^x2区间内生成含有50个元素的等差数列 logspace(x1,x2,n)——在从10^x1到10^x2区间内生成含有n个元素的等差数列解释一下,所谓的指数等差数列指的是指数部分是一个...

2019-01-20 17:17:16 9062 3

原创 前端面试分享:秋招总结JS篇(1)

秋招总结

2022-05-23 13:48:05 297 1

原创 前端面试分享:秋招总结(html和css篇)

  今年秋招结束了,虽然拿到的offer不多,不能和大佬们相比,但是自己已经满足了。秋招的过程中一直在总结面试遇到的一些问题,今天按照知识板块做一个整理,希望能有助于要求职的各位。一. Html相关问题1. 如何理解HTML语义化语义化含义  语义是对一个词或者句子含义的正确解释,像是h1标签,在浏览器解析到h1时,就将该标签解释为包含着一块内容的最重要的标题。为什么要语义化在页面没有css的情况下,也能够呈现出很好的内容结构有利于SEO,爬虫依赖标签来确定关键字的权重,因此可以和搜索引擎

2021-12-21 16:02:42 693

原创 前端面试分享:秋招面试总结

  今年秋招结束了,虽然拿到的offer不多,不能和大佬们相比,但是自己已经满足了。秋招的过程中一直在总结面试遇到的一些问题,今天按照知识板块做一个整理,希望能有助于要求职的各位。2021.12.21更新一. Html相关问题1. 如何理解HTML语义化语义化含义  语义是对一个词或者句子含义的正确解释,像是h1标签,在浏览器解析到h1时,就将该标签解释为包含着一块内容的最...

2021-12-21 15:58:39 116

原创 web前端岗面经大全

文章目录html篇HTML语义化前端优化的解决方案HTML5新特性常见浏览器兼容问题meta标签CSS篇行内元素、行内块元素、块元素css选择器px、em、rem的区别BFC盒子塌陷(浮动)实现水平垂直居中盒模型前端常见布局flex:1CSS动画,动画性能旋转45度实现三角形、圆translate和translate3D的区别display:none;visibility:hidden;opacity:0的区别回流与重绘浏览器渲染过程伪类选择器(被选择元素的一种状态)伪元素选择器伪类和伪元素选择器获取元素在

2021-11-24 16:34:31 2639

原创 小程序同时设置点击跳转与自动跳转导致重复跳转的问题及解决

解决了页面自动跳转导致点击与自动跳转带来的重复跳转问题

2021-04-20 09:44:48 1293 1

原创 JS垃圾回收机制

JavaScript通过自动内存管理来实现内存分配和闲置资源回收。基本思路:确定哪个变量不会再使用,然后释放它所占用的内存。这个过程是周期性的,即垃圾回收程序每隔一定的时间(或者说在代码执行过程中某个预定的收集时间)就会自动运行。⚠️垃圾回收过程是一个近似且不完美的方案,因为某块内存是否还有用,属于“不可判定问题”,意味着无法靠算法解决。垃圾回收程序会跟踪记录哪个变量还会使用,哪些变量不会再使用,以便回收内存。浏览器用到过的两种主要标记变量的策略为:标记清理和引用计数。1.标记清理标记清..

2021-03-17 17:11:36 146

原创 v-if 与v-show 的区别及使用场景

虽然使用 v-if 和 v-show 指令,在页面呈现效果相同,但是两者之间确实存在影响和差异。使用 v-if 隐藏的元素 Vue 不会尝试生成对应的HTML代码;而对于 v-show 指令,则会生成HTML代码,并且让起 display 值为 none,也就是说当需要隐藏尚未加载的内容时,v-if 指令更好一些 使用 v-if 会有性能开销,每次插入或者移除元素时都必须要生成元素内部的DOM树,这在某些时候是非常大的工作量。而 v-show 除了在初始创建开销时之外没有额外的开销。如果希望频繁切换

2021-03-01 10:27:56 311

原创 避坑_node-sass安装问题及解决办法

在编译sass文件时,需要用到node-sass,但是百度搜索node-sass就知道node-sass有多少坑了,不是安装失败,就是无法build模块,真的很搞心态,加上官方也推荐使用dart-sass,所以真的没必要,直接别用了。如果之前下载过node-sass,不管成功没成功,建议直接用npm uninstall node-sass卸载一遍再说,卸载完成之后记得删掉node_modules,然后npm install sass sass-loader -D ,最后 npm install 把...

2021-02-14 15:01:08 1051 1

原创 defer和async属性详解

script标签的加载是同步执行的,也就是说如果将JavaScript文件放在head标签中时,必须等所有JavaScript代码下载、解析和解释完毕后,才能开始渲染页面 (页面在解析到body标签时,开始渲染),这样的话,当js文件过多时,会导致渲染延迟,浏览器空白的情况,因此一般情况我们将js文件放在页面内容之后。并且提出了延迟执行脚本异步执行脚本,通过给script标签添加属性defer或者async来实现。1.推迟执行脚本_defer添加了defer属性的脚本会告诉浏览器,立即下载该脚本,但

2021-02-06 21:59:32 426

原创 vue_组件插槽详述

在使用组件时,在引用的组件标签中添加内容时,会自动被组件中的模板代替,如【例1】【例1】<my-comp>Have a happy Life</my-comp>Vue.component('my-comp',{ template:` <div> Life is a shit! </div> `})【结果】1.插槽的使用当不想要传递给组件的内容被替代,则可以使用组件插槽来解决这个问题,具体使用方法

2021-01-20 22:31:59 157

原创 vue_组件_监听组件事件

1.$emit 的使用在组件中注册自定义事件$emit(事件名, 参数) //该参数会当作第一个参数传入绑定的函数中下面用一个菜单栏例子来说明,如下图所示组件Vue.component('menu-cmp', { //注册prop props: { menu: Object, isActive: Boolean, menuIndex: Number }, template: ` &l..

2021-01-16 18:57:46 2365

原创 vue_组件_非prop特性

非prop特性指的是,一个未被组件注册的特性。当组件接收了一个非prop特性时,该特性会被添加到这个组件的根元素上。1.替换/合并已有的特性对于绝大多数特性来说,从外部供给组件的值会替换掉组件内部设置好的值,如【例1】【例1】<div id="app"> <my-cmp type='radio'></my-cmp></div>const vm = new Vue({ el: "#app", components

2021-01-08 20:10:41 216 1

原创 vue_prop单向数据流

所有的 prop 都使得其父子 prop 之间形成了一个单项下行绑定:父级 prop 的更新会向下流动到子组件中,但是反过来则不行,如【例1】。这样会防止子组件意外改变父级组件的状态,从而导致应用的数据流向难以理解。【例1】<div id="app"> father: <button @click="count++">{{ count }}</button> <son-cmp :count='count'></son-c

2021-01-01 12:37:25 177

原创 vue_prop注册及验证

目录1.注册自定义特性2.prop的大小写3.传递给一个对象的所有属性4.prop验证1.注册自定义特性当我们在注册组件时,希望其结构、样式和行为是不变的,但是数据应该是可变的,也就是说,所使用的数据应该由外界传递给组件。为了实现数据的接收,组件需要注册props,将数据作为一个自定义特性传递给组件,如下例:div id="app"> <video-item title='羊村摇' poster="https://deve.

2020-12-29 22:41:09 390

原创 Vue_组件基础

1.组件基础(1)组件定义组件是可复用的Vue实例,以可作为自定义的元素使用。作为一个Vue实例,它可以接收与new Vue相同的选项,如data、computed、watch、methods以及生命周期钩子等,但是不能接收 el 这样根实例特有的选项。(2)组件注册A. 全局组件Vue.component( string, function | Object )利用Vue.component创建的组件是全局注册的,也就是说它们在注册之后可以用在任何新创建的 Vue 根实例的模板

2020-12-29 22:32:17 152

原创 Vue_template是什么

1.el是什么提供一个在页面上已存在的DOM元素作为Vue实例的挂载目标。可以是css选择器,也可以是一个HTML元素实例。如果在实例化时存在这个选项,实例将立即进入编译过程,否则,需要显示调用vm.$mount()手动开启编译2.template是什么一个字符串模板作为Vue实例的标识使用。模板将会替换挂载的元素,挂载元素的内容都将被忽略。如下<body> <div id="app"> {{ }} </div> <script

2020-11-18 15:19:02 6792 1

原创 vue_axios详解

axios是一个基于promise的HTTP库,Chrome、Firefox、Safari、Opera、Edge、IE8+都支持1.APIaxios(config) axios(url,[config])2.config配置对象axios({ method:'get', //post、get、put…… baseURL:'', //请求的域名,基本地址 url: '', //请求的路径 params:{}, //会将请求的参数拼接在u

2020-11-17 16:21:48 1631

原创 Vue_异步加载_vue-resource(不再维护)

写在前面:vue-resource可以发送ajax,实现异步加载,但是Vue官方已经不再维护这个库了。vue-resource依赖于vue,因此要先引入vue,再引入vue-resource。正确引入vue-resource后,再vue全局上会挂载一个$http方法,其上有一系列方法,每个HTTP请求类型都会对应一个方法。且vue-resource使用了promise,所以$http中的方法的返回值是一个promise。1.请求方法(1)POST请求post请求用于提交数据常用data格

2020-11-02 22:35:45 655

原创 Vue属性篇_侦听器watch

作用:侦听属性,响应数据(data&computed)的变化,当数据变化时,会立即执行对应函数,其属性值可以为函数、字符串、对象和数组。1.属性值类型(1)函数类型函数类型中,被侦听的数据作为函数名,当数据改变时,执行 watch() 中对应的函数,该函数可以接受两个参数,第一个参数是 newVal(改动后的数据),第二个参数是 oldVal (改动前的数据),如下例<div id="app"> {{ bookName }}</div>con

2020-10-29 15:03:02 446

原创 H5新增API_geoLocation

goeLocation 通常用来粗略估计地理位置,代码如下window.navigator.geolocation.getCurrentPosition(function (position) { //两个回调函数,第一个为获取成功的回调,第二个为获取失败的回调 console.log(position)}, function () { console.log('error')})【注】1)只有在https协议和file协议下才能获取到位置信息,http协议不可以;

2020-10-22 17:46:17 159

原创 Vue的响应式及相关问题

目录1.概念2.页面何时渲染3.vm.$nextTick 和Vue.nextTick4.不发生重新渲染的情况5. 响应式更新数组和对象1.概念Vue响应式指当数据变化时,页面会重新渲染,如下例<body> <div id="app"> {{ sentence}} </div></body><script src="./vue.js"></script><sc.

2020-10-20 08:12:37 383

原创 原理_JS引擎对未声明变量的处理

以下内容为读《你不知道的JS》的读书笔记,在该书 1.2.3 节中讲到两个变量查询的方法,即 LHS 查询和 RHS 查询。书中的原话是“当变量出现在赋值操作的左侧时进行 LHS 查询,出现在右侧时进行 RHS 查询”。我的理解是,除了在赋值号(等号)左边的变量进行 LHS 查询外,所有需要访问变量的过程都是 RHS 查询。需要注意的是,在函数调用中,所传实参是一个隐式变量分配,属于 LHS 查询。如下例,红色方框中的变量使用的是 LHS 查询,蓝色方框中的变量使用的是 RHS 查询在清楚 L.

2020-10-03 23:45:50 924

原创 避坑!gulp-imagemin运行出问题

用gulp作为打包工具写音乐播放器,有一个插件是gulp-imagemin,是用来压缩图片的,安装总是报错,好不容易安装好一次,运行的时候还是报错,报错信息如下图。就温馨提示,遇到gulp-imagemin安装出问题,不要上火,能安安,不能安拉到,换webpack它不香吗。解决方案一删掉node_modules这个文件夹和package-lock.json文件,运行下列命名,重新安装。另外,如果有大佬能知道为啥会报错,还请不吝赐教,感激不尽!...

2020-09-26 17:35:41 2554 8

原创 vue属性_computed(计算属性)&&methods(方法)

目录1.计算属性2.计算方法3.深入理解计算属性当需要使用大量逻辑时,若直接放在模板中会使得模板过重且难以维护,如下例<div id="app"> {{ message.split('').reverse().join('')}}</div>var vm = new Vue({ el: '#app', data: { message: "It's a joke!" }});【结果】这里是想要显示变量m

2020-09-25 19:14:33 1660

原创 Vue指令篇_v-model_数据双向绑定

小桃回来啦,忙一些别的事情,可有一段时间没有更新了,还是接着之前的内容写,v-model是语法糖,可以在表单元素上创建双向数据绑定,即数据更新——>元素更新,元素更新——>数据更新。1.input1)type = text(文本框)<div id="app"> <input v-model="message"> <p>Message为:{{ message }}</p></div>const vm

2020-09-25 09:20:27 406

原创 Vue指令篇_v-for_列表渲染

今天要写的是Vue很香的一个指令v-for,这个指令在结构中实现循环,基于数据多次渲染元素,在减少代码量的情况下,又使得逻辑关系一目了然,很奈斯。不多说啦,就开始吧。目录1.使用方法1)v-for中使用数组2)v-for中使用对象3)v-for中适用数字4)v-for中使用字符串2. key1.使用方法v-for指令中可以使用数组、对象、数字、以及字符串,下面我们一一举例,首先把vue.js文件引进来<script src="https://cdn.jsdel

2020-08-01 10:07:50 2688

原创 v-on指令修饰符大全

目录1.事件修饰符1).stop2).prevent3).capture4).self5).once6).passive2.按键修饰符3.系统修饰键4.鼠标按钮修饰符1.事件修饰符1).stop作用:调用event.stop,阻止事件冒泡<div id="app"> <div @click="fatherClick"> <button @click.stop="childClick">cli

2020-07-28 15:25:58 4774

原创 Vue如何绑定事件

首先不管三七二十八引入 vue.js 文件再说<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>指令 v-on 用于监听 DOM 事件,并在触发时运行一些 JavaScript 代码,简写为 @ ,其事件类型由参数决定,与 v-bind 指令相同,冒号后面是参数,举个栗子如下<div id="app"> <button v-on:click='count++

2020-07-27 16:40:35 4896

原创 Vue指令篇_v-bind

目录1.基本用法2.class和style的绑定1)绑定class2)绑定style3.修饰符1) .camel2) .prop1.基本用法作用:动态地绑定一个或多个特性,也可以绑定动态特姓名,用法如下例<div id="app"> <!-- 绑定一个属性, : 后的为传递的参数 --> <img v-bind:src="imageSrc"> <!-- 动态特性名 (2.6.0+) -->

2020-07-27 09:27:46 359

原创 Vue指令篇_v-if、v-else、v-else-if

1.v-if作用:条件性的渲染一块内容,这块内容只会在指令的表达式为真值时被渲染。2.v-else3.v-else-if

2020-07-21 16:10:25 1178

原创 VUE指令篇_不常用指令

标题没错,就是几个不常用指令,T_T,先来说一下什么是指令,vue的指令是指以 v- 为前缀,具有特殊含义、拥有特殊功能的特性,可以直接使用data中的数据1.v-prev-pre的作用是跳过这个元素和它的子元素的编译过程。可以用来显示原始的Mustache(插值表达式)标签,跳过大量没有指令的节点会加快编译<div id="app"> <div>{{ name }}</div> <div v-pre>{{ age }}</

2020-07-19 16:25:29 258

原创 VUE如何操作DOM

最近有些自闭,life is a shit,但是学习不能停,也开始继续健身了,试图让自己好一点.这是学习VUE的第一篇博客,先来说一下准备工作。我们需要在谷歌商店安装vue-devtools插件,打不开的话,点击这里,按照步骤操作后,就可以在谷歌商店下载插件了,下载插件的步骤:点击谷歌浏览器的更多工具 -> 扩展程序 -> 打开chrome网上应用商店 -> 搜索vue devtools -> 添加至chrome,之后打开哔哩哔哩的官网,右上角出现这个图标,则表示已经生效了V

2020-07-10 16:47:01 2690

原创 如何配置webpack的loader

loader本质上是一个函数,将其作为模块,使用CommonJS规则导出,其作用是将某个字符串转换成另一个源码字符串返回,在模块解析的过程中被调用,以得到最终的源码。一般情况不会让我们写一个loader的,而且也有大佬开发好用的loader可以使用,因此我们来了解一下如何配置一个loader。之前讲过一些webpack的其他配置,有问题的话,可以点击这里。打开 webpack.config.js 文件,我们在module属性中对loader进行配置,代码如下module.exports = {

2020-07-09 10:17:45 284

原创 小白也能学会的 Git 常用指令指南

目录1.git init2. git add3.git commit4.git log5.git reflog6.git reset --hard HEAD~X7.git status8.git diff9.git branch a10.git branch11.git checkout 分支名称12.git checkout -b 分支名称13.git merge 分支名称安装完成 git 之后,我们在工程根目录下,单击右键,出现如图1所示菜单栏..

2020-07-05 21:53:10 147

原创 webpack文件配置

webpack提供的cli支持很多的参数,例如 --mode,但更多时候我们会使用更加灵活的配置文件来控制webpack的行为。默认情况下,webpack会读取webpack.config.js 文件作为配置文件,但也可以通过CLI参数 --config来指定某个配置文件。配置文件中通过CommonJS模块导出一个对象,对象中的各种属性对应不同的webpack配置【注】1)配置文件中的代码,必须是有效的node代码2)当命令行参数与配置文件中的配置出现冲突时,以命令行参数为准基本配置:1

2020-07-05 10:18:21 264

原创 nodeJS 的 path.resolve() 用法解析

path是nodeJS的一个内置模块,可以直接在其他js文件中导入改模块,代码如下var path = require("path") //node的内置模块该模块导出很多path的方法,如图1,我们要康康path.resolve() 是怎么用的图1 path的方法path.resolve() 它的作用是拼接路径,其传参个数没有限制,每个参数均表示一段路径,我们看一个例子var path = require("path");const p = path.resolve("

2020-07-04 23:17:54 9025

原创 webpack编译过程

webpack的作用是将源代码编译(构建、打包)成最终代码。整个过程大致分为三个步骤:初始化、编译、输出。1.初始化在该阶段,webpack会将CLI参数、配置文件、默认配置进行融合,形成一个最终的配置对象。对配置的处理过程是依托一个第三方库yargs完成的。此阶段相对比较简单,主要是为接下来的编译阶段做必要的准备。目前,可以简单的理解为,初始化阶段主要用于产生一个最终的配置2.编译1)创建chunkchunk是webpack在内部构建过程中的一个概念,译为:块,表示通过某个入口找到的所

2020-07-04 22:33:24 382

01CommonJS.rar

关于前端中nodejs使用CommonJS规范实现模块化开发的两个小例子。第一个是基本使用方法,模块的导入与模块的导出;第二个是模拟扑克牌发牌的小练习

2020-05-29

空空如也

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

TA关注的人

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