自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

舒梵的博客

热衷于前端的小秃头。。。

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

原创 vscode代码片段配置

vscode全家

2022-11-18 19:53:01 281 1

原创 Vite.config.ts最全配置

vite.config.ts配置

2022-08-10 15:38:30 21238 6

原创 函数式编程 — 柯里化

柯里化函数

2021-12-14 15:24:07 1067

原创 Vue — .env环境配置

文件说明.env:全局默认配置文件,所有环境都会加载.env.development:开发环境的配置文件.env.production:生产环境的配置文件注:属性名必须以 VUE_APP_ 开头,如:VUE_APP_XXX// 例:自定义环境配置.env.test:自定义测试环境配置.env.uat:自定义预发环境配置"scripts": { "serve": "vue-cli-service serve", "build:test": "vue-cli-service

2021-11-08 17:44:38 2589

原创 浏览器 — 输入URL到页面显示完成

在浏览器输入URL到页面加载完成流程:浏览器向服务器发起一个HTTP协议进行DNS解析先找浏览器缓存 chrome://net-internals/#dns再找操作系统缓存读取本地HOST文件发起网络DNS请求调用得到最后的服务器IP客户端启动一个随机端口,经过三次握手进入到服务器的网卡浏览器发送真正的请求服务器接收到HTTP请求,解析路径和参数,经后台的处理完成响应浏览器接受到服务器的响应,并开始渲染页面。DOM树+CSS树=Reader Tree添加用户与页面的交互,绑定一些事

2021-09-01 14:33:13 133

原创 cookie、localSrorage、session、indexDB 的区别

名称数据生命周期存储大小与服务端通信cookie由服务器生成,可设置过期时间4K每次都会携带在header 中,对于请求性能影响localSrorage需手动清除,否则⼀直存在5M不参与session⻚⾯关闭就清理5M不参与indexDB需手动清除,否则⼀直存在4K不参与......

2021-08-24 15:52:57 239

转载 JavaScript—DOM、BOM、虚拟DOM

Javascript组成ECMAScript(核心):js的语法和基本对象DOM (文档对象模型):处理网页内容的方法和接口BOM(浏览器对象模型):与浏览器交互的方法和接口DOM 是为了操作文档出现的 API,document 是其的一个对象;BOM 是为了操作浏览器出现的 API,window 是其的一个对象。DOMDOM全称:Document object Model (文档对象模型)。是针对XML的基于数的API。描述了处理网页内容的方法和接口,是HTML和XML的API,DOM把

2021-08-08 09:09:02 220

原创 JavaScript — Promise、async、await

Promise1、new Promise函数体内的打印是同步2、必须要调用resolve(),.then才会执行const p = new Promise(resolve=>{ console.log(1) //同步 resolve('你好') //resolve返回的值是then返回值的形参,一定要加这个,不然不会执行then})p.then(data=>{ console.log(data) console.log(22)})//打印:1、你好、22console.

2021-08-05 11:48:00 409

原创 JavaScript — 运行机制

单线程js是单线程,为了防止一个函数执行时间过长阻塞后面的代码。会先将同步代码放入执行栈中,再执行nextTick,再将异步代码加入异步队列中,异步队列分为微队列(Promise.then),宏队列(setTimeout ,setInterval,ajax,读取文件),然后再setImmediatejs执行步骤同步(promise内部的执行也是同步)process.nextTick微任务(Promise.then)宏任务(setTimeout ,setInterval,ajax,读取文件)

2021-08-05 10:48:07 198

原创 call、apply、bind 修改this指向

2、apply:第一个参数为绑定给this得值,接收一个数组、1、call:第一个参数为绑定给this得值,接收多个参数、(call是apply得语法糖)3、bind:接收一个参数,

2021-08-03 11:34:28 147

原创 JavaScript — this指向、new关键字

三种this指向三种角色:1、普通函数this指向window2、构造函数this指向方法3、对象方法this指向对象普通函数add()function add() { var a = 1; console.log(this) // this指向window}构造函数function Person(a, b) { this.a = a; this.b = b; console.log(this); // this指向person(new实例新创建的对象)}var p

2021-08-03 10:16:11 274 3

原创 JavScript — 闭包

闭包闭包:是指有权访问另一个函数作用域中的变量的函数,并且再闭包内部形成一个外部无法访问的局部作用域。创建闭包:常见的方式是在一个函数内部创建另一个函数,通过另一个函数来访问这个函数内部的变量,利用闭包可以突破作用域链,将函数内容不的变量和方法传递到外部。function fun1() { var name = '小明' function fun2() { console.log(name); } return fun2()}const result = fun1()result(

2021-07-26 14:19:08 126

原创 JavaScript — 继承

继承两个继承方式:接口继承、实现继承ECMAScript只支持实现继承,而实现继承主要依靠原型链来实现的。原型链** 原型链作为实现继承的主要方法。**** 其主要思想:利用原型让一个引用类型继承另一个引用类型的属性和方法。** 构造函数、原型、实例关系: 每个构造函数都有一个原型对象(prototype),原型对象都包含一个指向构造函数的指针(constructor)原型对象都包含一个指向沟站是的指针(constructor),而实例都博涵一个指向原型对象的内部指针。假如我们让原型对象等于

2021-07-20 17:47:58 94

原创 原型、原型链

原型 1、所有声明的函数都有一个:prototype显式原型属性 //普通函数 2、所有的new实例对象都有一个:_proto_隐式原型属性 //构造函数 3、显式原型与隐式原型关系: 3-1:函数的prototype:定义函数是就被自动赋值,值默认为{},即为原型对象; 3-2:实例对象的_proto_:在创建实例对象是被自动添加,并在创建实例对象时被自动添加, 并赋值为构造函数的prototype值 3-3、原型对象即为当前实例对象的父对象 函数声明 function F

2021-07-20 16:33:11 110

原创 JavaScript—作用域与作用域链

作用域、作用域链作用域:是一个独立的区域,让变量不在泄露出去;它最大的作用就是隔离变量,使其不会受到污染。作用域链:是变量一层一层向上寻找,直到找到全局作用域还是没找到,就宣布放弃。这种一层一层的关系,就是 作用域链 。 1. 作用域只针对变量 2. 作用域分为2种:全局作用域、函数作用域 2-1:作用域特点:在自己的变量范围内查找,如果找不到会沿着作用域链往上找 3. 作用域链:a最后打印1,b最后打印22;应执行函数fun1()时,a会在函数体内查找变量a,找到就赋值,这时a还是函数作用

2021-07-15 17:32:27 94

原创 JavaScript—函数定义

函数三种定义方式1、函数声明function add() { }2、函数表达式cosnt Fun = function() { }2-1、匿名函数function () { }3、构造函数// (构造函数的函数声明首字母一般大写)function add() { }const Fun = new Add()...

2021-07-15 16:33:27 65

原创 JavaScript—变量声明

变量声明var:声明变量,存在变量提升let:声明变量,不存在变量提升const:声明常量,不存在变量提升 - let与const作用域只限于当前代码块{},而var则没有这种限制 - 使用let、const申明的变量作用域不会被提升...

2021-07-15 16:05:29 82

原创 JavaScript—数据类型

数据类型基本数据类型:String、Number、Boolean 、Null、Undefined、Symbol、BigInt 引用数据类型:Object、Array、Function而Symbol、BigInt 是新增的数据类型数据类型 存储原理栈:原始数据类型(Undefined,Null,Boolean,Number、String、Symbol、BigInt )堆:引用数据类型(Object、Array、Function)区别: 1、栈:赋值时不会修改原来数据,会新开辟空间; 2、堆

2021-07-15 15:57:11 67

原创 字符串方法

字符串方法总结:let str = 'abcd12ef';charAt// 返回指定位置的字符str.charAt(2) // 'c'charCodeAt// 返回指定位置的字符的Unicode编码 str.charCodeAt(5) // 50concat// 字符串拼接 const str2 = 'kk'str.concat(str2) // 'abcd12efkk'indexOf / lastIndexOf// 检索字符串str.indexOf('k') // -1

2021-07-15 15:26:39 110

原创 vscode代码格式化配置

安装插件Vetur、Prettier-code formattersetting具体配置我这里使用Vuter格式化配置;具体:保存格式化,不加分号,单引号,禁止随意加逗号,函数(名)和后面的括号之间加个空格,结构不换行,缩进,{ //(代码规范) "editor.detectIndentation": false, // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.tabSize": 2, // tab 大小为2个空格 "editor.word

2021-04-08 17:06:02 2708

原创 数组方法总结

数组方法总结:let arr = ['a','b','c'];pusharr.push('d') // ['a','b','c','d']

2021-03-26 18:15:53 124

原创 JavaScript -- 数组循环

for循环总结:for–ilet arr = ['a','b','c'];// 输出索引和值for (var i = 0; i < arr.length; i++) { console.log(i,arr[i]) // 0,a 1,b 2,c}for–oflet arr = ['a','b','c'];// 输出值for (const item of arr) { console.log(item) //a,b,c}// 输出索引for (const item of ar

2021-03-24 18:31:53 672

空空如也

空空如也

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

TA关注的人

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