自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(52)
  • 收藏
  • 关注

原创 ES6扩展运算符

ES6扩展运算符展开数组console.log(...[3, 4, 5])3 4 5等价于console.log(3, 4, 5)合并数组let arr1 = [1, 2, 3]let arr2 = [4, 5, 6]let arr3 = [7, 8, 9]console.log([...arr1, ...arr2, ...arr3])[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]提取数组/元素let [var1, ...arr5] = [1, 2, 3, 4,

2021-12-22 19:00:29 384

原创 Axios

axios是基于promise的HTTP库,可以用于浏览器和node.js中axios中文网使用:安装 npm install axios --save在组件页面中引用,import axios from “axios”然后在mounted中方法使用由于每个页面要引入,就挂载在全局中,在main.js中引用全局配置,$axiosget请求首先读取结构,要有params传递指引,而且传递的是个对象,但post请求如果按照案例中的写,有可能有参数传递不过去的原因,需要的格式不一样,如果发生

2021-12-22 18:59:44 360

原创 Vuex知识点

VuexVuex是专为Vue.js开发的状态的vue插件集中式管理多个组件共享状态和后台数据获取,可以实现实时数据更新工作原理:vuexvue组件通过dispatch触发分发函数事件actions,通过commit触发mutations,然后通过mutate触发state,最后通过render影响组件state,给vue组件状态,$store.state或mapState()getters,给vue组件计算属性数据,$store.getters或mapGetters()actions,$s

2021-12-22 18:54:34 549

原创 可复用性&组合

可复用性&组合指令的优点,可以多次使用,自定义指令一般新建一个directives文件夹,里面放index.js文件,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zufjIkPh-1640163827226)(F:%5Ctypora%5Cimage%5Cimage-20210913172918512.png)]然后在main.js文件中引入directives文件即可[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZIgND

2021-12-22 18:08:47 675

原创 Vue组件

组件的引用:1.引入需要在App.vue里面引入MyComponentimport MyComponent from “./components/MyComponent”2.依赖注入在components对象中,增加components注入组件3.加载组件在上面进行引用所有的js必须放在export default{}中,必要的元素必须有name属性,首字母大写,必须有data属性,data必须是纯函数,必须存在返回值,返回值里存储状态,组件的每一次被调用都会创建一个新的组件对象dat

2021-12-22 17:03:38 467

原创 Vue生命周期

main.js文件内容Vue.config.productionTip=false//设置为false来阻止在启动时生成生产提示//创建Vue实例new Vue({ el:'#app',//element:绑定根元素, components:{App},//加载组件 template:'<App/>'//呈现})//添加全局变量,Vue.prototype.$hello = 'hello'各个子组件中可以通过[外链图片转存失败,源站可能有防盗链机

2021-12-22 17:02:26 420

原创 Vue基础

Vue基础有结果的叫表达式,没有结果的叫语句模板语法文本{{}},花括号里面可以放表达式,如{{1+1}} <div>{{msg}}</div> <div>{{10>20 ? '想多了': "对了"}}</div> ... <script> export default{ data(){ msg:"hello" }

2021-12-22 17:01:49 69

原创 gird和flex布局

grid和flex布局grid整个单元格grid-template-columns: 1fr 2fr 1fr将元素的列,按照1比2比1排列grid-template-rows: 100px 100px 100px将元素的行,按照100px 100px 100px排列grid-auto-flow: column将所有元素按照纵向排列justify-items: start/center/end/stretch将所有元素,在每个单元格的起始列位置/居中列位置/结束列位置/延伸align-i

2021-12-14 16:06:31 321

原创 面试试题2

闭包闭包应用场景:防抖,节流,库的封装,保证数据的私有性,可避免变量被污染可以避免变量被污染私有化(function(){ let a =2; let b = 3; function a(){ } return{ a }})外部可以访问到但是不能修改里面的内容,和外面的不会冲突保存变量,常驻内存,延长变量的声明周期let a = "xx"在script里面function fn(){ let b = 1}而b在local里面AO

2021-10-14 15:54:23 183

原创 面试试题1

对前端工程师的理解前端是最贴近用户的程序员,比后端、数据库、产品经理、运营、安全都近。实现界面交互提升用户体验前端是最贴近用户的程序员,前端的能力就是能让产品从 90分进化到 100 分,甚至更好参与项目,快速高质量完成实现效果图,精确到1px;与团队成员,UI设计,产品经理的沟通;做好的页面结构,页面重构和用户体验;处理hack,兼容、写出优美的代码格式;针对服务器的优化、拥抱最新前端技术。面试官好,我叫xxx,来自xxxxxxx,来应聘贵公司前端工

2021-10-14 15:49:57 1040

原创 Vue的知识点

MVVMMVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。准备阶段模板解析,数据绑定observer,监视/劫持data中所有层次的属性,同时为每一个属性创建dep属性,dep与data中的属性一一对应,有几个data有几个depcomplie,编译模板,解析指令,目的是初始化视图/界面,调用对象updater来实现更新节点,为每个表达式创建对应的watcher,同时指定了更新节点的回调函数,watcher,所有的watcher放在对应的dep里面,防止重复建立,

2021-10-14 15:47:34 70

原创 一次完整的http服务过程

一次完整的http服务过程在浏览器的地址栏中输入www.baidu.com具体发生了什么对www.baidu.com网址进行DNS域名解析,得到对应的ip地址根据ip找到对应的服务器,发起TCP三次握手建立TCP连接后发起HTTP请求服务器响应HTTP请求,浏览器得到html代码浏览器解析html代码,请求html代码中的资源浏览器对页面进行渲染呈现给用户服务器关闭TCP连接,四次挥手为什么要建立tcp连接后发起http请求?tcp是比http更底层的一个连接

2021-10-14 15:45:14 256

转载 Vue懒加载

Vue懒加载什么是懒加载?说白了延迟加载使用方式使用vue的 vue-lazyload 插件插件地址https://www.npmjs.com/package/vue-lazyload案例懒加载案例demo安装方式npm i vue-lazyload -D用法在main.js文件中引入下面代码import Vue from 'vue'import App from './App.vue'import VueLazyload from 'vue-lazyload' //引入

2021-09-25 22:09:24 120

原创 Mongoose

Mongoosemongoose的好处可以为文档创建一个模型结构可以对模型中的对象/文档进行验证数据可以用个类型zhu7anhuan转换为对象模型可以使用中间件来应用业务逻辑挂钩比Node原生的MongoDB驱动更容易mongoose提供的新对象schema对象定义约束了数据库中的文档结构Model对象作为结合中的所有文档的表示,相当于MongoDB中的集合collectionDocument对象表示结合中的具体文档,相当于集合中的一个集体的文档mongoose的使

2021-09-19 16:05:58 72

原创 文档间的关系

文档间的关系 /* 一对一 一对多 多对多 */ db.wifeAndHusband.insert({ { name:"黄蓉", husband:{ name:"郭靖" } } }) db.wifeAndHusband.find() db.users.insert([{ username:"swk", _id:001 },{ userna

2021-09-19 16:04:06 70

原创 数据库的习题

//1进入my_test数据库 use my_test; //插入一个文档 db.users.insert({ username:"sunwukong" }); //查询user集合中的文档 db.users.find(); //向集合中从插入一个文档 db.users.insert({ username:"zhubajie" }); //统计集合中文档的数量 db.users.find().count() //查询集合中...

2021-09-19 16:03:31 97

原创 MongoDB数据库

MongoDB数据库关系型数据库:MySQL,Oracle,SQL Server关系数据库中全部都是表非关系数据库(No SQL)MongoDB,Redis键值对数据库文档数据库MongoDBMongoDB数据库是仓库,在仓库中可以存放集合,集合类似于数组,在集合中可以存放文档,文档是数据库中的最小单位,每次操作是对文档的操作基本指令showdbs,显示当前所有的数据库use 数据库名,进入指定的数据库(集合和数据库即使不存在也会自动创建并进去)show collectio

2021-09-19 16:02:16 111

原创 TCP知识点

TCPTCP报文首部有哪些字段有何作用16位端口号,源端口号,该报文段来自哪里16位目标端口号,要传给哪个上层协议或应用程序32位序号,一次TCP通信(从连接建立到断开)过程中某一个传输方向上的字节流的每个字节的编号32位确认号,用作对另一方发送的tcp报文段的响应,收到的tcp报文段的序号值加14位头部长度,表示tcp头部有多少个32bit字(4字节),tcp头部最长60字节6位标志位,urg,紧急指针是否有效;ack,确认好是否有效;psh,缓冲区尚未填满;rst,表示要求对方重新建立连

2021-09-06 14:51:45 186

原创 ES6的部分笔记2

Set() let arr=[1,2,3,4,1,2,3,4] //去重 let result = [..new Set(arr)] console.log(result) //交集 let arr2 = [2,3,4,4] let result = [...new Set(arr)].filter(item=>{ /* //第一种 let s2 = new Set(arr2) if(s2.has(item)){ return tr

2021-09-06 14:48:53 83

原创 ES6的部分笔记

ES6的部分笔记解构赋值数组的解构赋值 const F4 = ['小沈阳','刘能','赵四','宋小宝'] let [xiao,liu,zhao,song] = F4 console.log(xiao) console.log(liu) console.log(zhao) console.log(song)对象的解构+简化写法 const zhao ={ name:'赵本山', age:'不详', xiaopin(){

2021-09-06 14:48:14 69

原创 防抖和节流(部分知识点)

防抖和节流绑定一些事件,如resize鼠标移动等,持续触发,有时候不希望时间持续触发的过程中频繁去执行函数,如监听后执行的是DOM操作,这样频繁的去触发执行,可能会影响到浏览器的性能,甚至会导致浏览器卡顿为什么频繁的操作DOM会影响浏览器的性能,甚至导致浏览器卡顿,频繁的操作DOM会影响性能DOM的操作的实现和ECMAScript的实现IE里,ECMAScript的实现是在JScript.dll动态链接库中实现,DOM的实现是在mshtml.dll中,DOM的操作最主要的原因:它会导致浏览器的重

2021-09-06 14:46:50 80

原创 node笔记——模块化

node笔记——模块化模块化在node中,通过require()函数来引入外部的模块require()可以传递一个文件的路径作为参数,node将会自动根据该路径引入外部模块,如路径使用相对路径,必须以.或…开头使用require()引入模块以后,该函数会返回一个对象,这个对象代表的是引入的模块暴露外部变量和方法在node中,每一个js文件中的js代码都是独立运行在一个函数中而不是全局作用域,所以一个模块中的变量和函数在其他模块中无法访问单纯写var 会报错,全局中看不到;避免污染外部全局命名

2021-08-20 15:43:03 63

原创 Buffer(缓冲区)

Buffer(缓冲区)Buffer的结构和数组相似,操作的方法和数组类似数组中不能存储二进制的文件,而Buffer是专门用来存储二进制的数据buffer不用引入模块,直接使用即可,就是用来保存数据缓存数据的buffer中每一个元素的范围是从00 - ff(0-255),计算机中一个0或一个1,我们称为1位,1bit8bit = 1byte,buffer中一个元素占用内存的一个字节,buffer实际上是对底层内存的直接操作,一旦创作不能改变1024byte = 1kb var str = "H

2021-08-20 15:36:45 916

原创 堆和栈的笔记

堆和栈变量值b10a10栈内存↑var a =10var b = aa++ //console.log("a="+a)//console.log("b="+b)var obj = new object()obj.name = "001"var obj2=obj//console.log("obj.name")//console.log("obj2.name")//都是001obj2.name =

2021-08-20 15:35:10 46

原创 npm的笔记

JSON文件中不允许写注释npm -v 查看版本npm init 会安装一个package.json的文件,安装包到当前文件夹的前提,要有一个package.json文件npm version 查看所有版块的版本npm search 包名 搜索包npm install/i 包名 安装包npm remove/r 包名npm install 包名 --save 安装包并添加到依赖中,安装的同时设置成你的依赖,然后npm install,会安装当前项目所依赖的包npm insta.

2021-08-20 15:22:23 81

原创 文件系统

文件系统通过node来操作系统的文件使用文件系统引入fs模块,fs是核心模块,直接引入即可fs模块中所有的操作都有两种形式可供选择,同步和异步。文件的写入同步方法:打开文件 var fs = require("fs"); var fd = fs.openSync("hello.txt","w"); //fs.open(path,flages[,mode]) //path要打开文件的路径 //flags打开文件要做的操作类型 //r只读 w可写 //mode设置

2021-08-20 15:19:08 59

原创 Promise和异步函数的reject错误处理

reject一般做错误处理两个Promise的话,前面的出错后面会等着前面的结束后面的再进行执行Promise结束是状态改变的时候再结束,resolve和reject都不会终结Promise函数的执行外界参与无法改变,等其自己结束两个中有出错的都在这里出现then的第一个回调函数是resolve对象,状态resolvedunreject事件,可以用catch来终止promise链接受多个promise对象返回一个promise对象472)]接受多个promise对象返回一个pr

2021-06-24 21:27:45 1402

原创 宏任务和微任务

异步操作任务分为宏任务和微任务2021/6/8宏任务(比如setTimeout)先入队微任务后入队先检查微任务队列,检查完再循环宏任务队列,比如Promise中的then在微任务中,执行完后再执行setTimeout入栈是先进宏任务,再进微任务,清空栈意味着要开始处理微任务,一个个调用压栈,微任务处理完,调用栈空了,再调用渲染,然后去处理宏任务...

2021-06-24 21:23:02 66

原创 ES6新增语法——Set和Map

ES6新增语法——Set和Map2020-5-18非数组对象的定制实现,即 Set 与 MapES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值*{ const s = new Set(); [1,2,2,2,6,5].forEach(x=>s.add(x)); for(let i of s){ console.log(i); } //ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是

2021-06-24 21:21:48 96

原创 迭代器的习题

class Fib { constructor(num) { this.num = num } *[Symbol.iterator]() { let [a, b] = [0, 1]; while (true) { [a, b] = [b, a + b]; if (a > this.num) return;

2021-06-24 21:21:02 81

原创 闭包的习题?

function funn(n, o) { console.log(o); return { fun: function (m) { console.log('m为',m,'n为',n);// return funn(m, n); }, }; } var a = funn(0);

2021-06-24 21:15:10 64

原创 对象基本概念

对象进阶基本概念基本数据类型,一种复合值,属性的无序集合访问对象的属性,点运算符和索引运算符(字符串索引)每个属性都是一个名/值对属性名是字符串,可以把对象看成是从字符串到值的映射对象除了可以保持自有的属性,还可以从一个称为原型的对象继承属性原型式继承是核心对象是动态的,可以增加或删除属性。除了字符串﹑数值﹑true 、 false null和 undefined ,其他值都是对象。JavaScript对象特征对象的分类内置宿主自定义对象属性的

2021-06-24 21:10:22 42

原创 临时笔记1

true + 2021true + "20""true20"let x={toString( ){return "abc";}, valueOf( ){return 20;}}x-NaN//返回都是NaN两边引用值,有一个是引用值就进行拆箱js原始值为什么可以直接引用方法,临时包装,临时用new Stringslice包括起始索引,不包括结束索引trim去掉字符串两端的空格从下标为4的位置查找四个字符串出现的索引,没找到返回-1ES6新语法模板字符串中的ta

2021-06-24 21:08:45 51

原创 文件系统操作

文件系统操作fs模块模块简介fs模块提供一组文件操作API用于模仿标准POSIX函数与文件系统进行交互。导入该模块:const fs = require(‘fs’);fs模块共有5个类,分别是fs.Dirent(指示文件类型)、fs.FSWatcher(监视文件)、fs.ReadStream(读取流)、fs.WriteStream(写入流)和fs.Stats(文件的信息)。名称具有“Sync”后缀的方法为同步方法,不具有该后缀的方法为异步方法。fs模块支持FS常量,包括文件可访问性、文件复制、

2021-05-30 20:37:52 199

原创 var和let和const

var和let和constvar和let的使用:在ES5中,if 和for的都没有作用域,想要有作用域必须要借助function的作用域(ES5中只有function有作用域<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.

2021-05-10 15:46:42 110

原创 数组进阶

数组进阶基本概念数组是值的有序集合。每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。数组是无类型的。数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型。数组的元素可以是对象或其他数组,从而创建复杂的数据结构。数组是动态的。根据需要它们会增长或缩减,并且在创建数组时无须声明一个固定的大小或者在数组大小变化时无须重新分配空间。数组可以是稀疏的。数组元素的索引不一定要连续的,它们之间可以有空缺。每个JavaScript数组都有一个len

2021-04-18 23:35:43 65

原创 Node.js基础(3)

Node.js的流流可以看作是某段时间内从一个点移动到另一个点的数据序列。Node.js中的流用于管理和处理数据,使用流完成对大量数据的操作以及逐段处理的操作。流是Node.js中处理流式数据的抽象接口。stream模块用于构建实现了流接口的对象const stream = require(‘stream’);stream模块主要用于开发人员创建新类型的流实例。流的基本类型:可写流(Writable)可读流(Readable)双工流(Duplex)转换流(Transform)流的实现

2021-04-18 22:28:28 250

原创 Node.js基础(2)

Node.js回调函数什么是回调函数function main(info, callback){//我是主函数,参数列表中的callback是一个回调函数 console.log('还在回家的路上'); console.log('到家了,发条信息吧'); callback (info);//调用回调函数}function sendMsg(msg){ //我是回调函数 console.log(msg);}main('亲爱的,我到家了!',sendMsg);//执行

2021-04-18 22:28:05 223

原创 Node.js简介

Node.js简介什么是Node.jsNode.js简称Node,是一个可以使JavaScript运行在服务器端的开发平台。JavaScript本是一种Web前端语言,Node.js让JavaScript成为服务器端脚本语言。i Node.js选择JavaScript作为实现语言的原因:JavaScript满足CommonJS标准,符合事件驱动,用户较多且门槛较低;Chrome的V8引擎具有出色的性能。Node.js将V8引擎封装起来,作为服务器运行平台,以执行JavasScript编写的

2021-04-18 16:21:28 1657

原创 事件流

事件流事件流:描述的是在页面中接受事件的顺序事件冒泡:由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点(文档)事件捕获:最不具体的节点先接收事件,而最具体的节点应该是最后接收事件事件处理HTML事件处理:直接添加到HTML结构中DOM0级事件处理把一个函数赋值给一个事件处理程序属性DOM2级事件处理addEventListener(“事件名”,“事件处理函数”,“布尔值”);true:事件捕获false:事件冒泡removeEventListen

2021-04-17 16:44:57 132

空空如也

空空如也

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

TA关注的人

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