自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 问答 (1)
  • 收藏
  • 关注

原创 uniapp s搜索功能实现

uni-app从零开始

2022-01-11 14:02:29 5051 1

原创 uniapp-文章收藏功能实现

从零开始uniapp

2022-01-10 12:02:06 2889 1

原创 node-可写流

node可写流

2022-01-01 23:28:12 272

原创 Node-可读流

node可读流

2021-12-30 18:08:07 454

原创 ES6-默认导入导出

默认导入导出默认导出每个模块,除了允许有多个基本导出之外,还允许有一个默认导出默认导出类似于CommonJS中的module.exports,由于只有一个,因此无需具名具体的语法是export default 默认导出的数据或export {默认导出的数据 as default}由于每个模块仅允许有一个默认导出,因此,每个模块不能出现多个默认导出语句默认导入需要想要导入一个模块的默认导出,需要使用下面的语法import 接收变量名 from "模块路径"类似于CommonJS

2021-12-20 18:28:01 1055

原创 ES6模块化-基本导入导出

基本导入导出模块的引入注意:这一部分非模块化标准目前,浏览器使用以下方式引入一个ES6模块文件<script src="入口文件" type="module">模块的基本导出和导入ES6中的模块导入导出分为两种:基本导入导出默认导入导出基本导出类似于 exports.xxx = xxxx基本导出可以有多个,每个必须有名称基本导出的语法如下:export 声明表达式或export {具名符号}由于基本导出必须具有名称,所以要求导出内容必须跟上声明表达式或

2021-12-20 18:27:17 121

原创 AMD与CMD

AMD全称是Asynchronous Module Definition,即异步模块加载机制require.js实现了AMD规范在AMD中,导入和导出模块的代码,都必须放置在define函数中define([依赖的模块列表], function(模块名称列表){ //模块内部的代码 return 导出的内容})CMD全称是Common Module Definition,公共模块定义规范sea.js实现了CMD规范在CMD中,导入和导出模块的代码,都必须放置在defi

2021-12-20 18:20:57 249

原创 CommonJs

在nodejs中,由于有且仅有一个入口文件(启动文件),而开发一个应用肯定会涉及到多个文件配合,因此,nodejs对模块化的需求比浏览器端要大的多最开始nodejs使用的是社区提供的CommonJS作为模块化规范在学习CommonJS之前,首先认识两个重要的概念:模块的导出和模块的导入模块的导出模块就是一个JS文件,它实现了一部分功能,并隐藏自己的内部实现,同时提供了一些接口供其他模块使用模块有两个核心要素:隐藏 和 暴露隐藏的,是自己内部的实现暴露的,是希望外部使用的接口任何一个正常的模

2021-12-20 18:19:41 114

原创 前端跨域 梳理

跨域访问资源哪些东⻄属于资源?js⽂件算吗?js⽂件肯定是算资源的,但是js⽂件是允许被跨域请求的。css⽂件,jpg,png等。src属性的资源都是可以被跨域请求的。href资源⼤部分都是可以被跨域请求的。哪些资源算跨域请求的资源?后端接⼝的数据。其它域的cookie其它域的缓存什么是其它的域?怎么样算跨域?⻚⾯本身:有协议(http/https),域名,端⼝要请求的数据:http://www.baidu.com:80协议,域名,端⼝这三个,有任意⼀个不⼀样就算跨域。跨域这个

2021-12-18 12:12:24 81

原创 Cokie与Session 面试篇

Cookie与Session1.如果我们⽤JS的变量来存数据,那么在⻚⾯关闭的时候,数据就消失了。2.保持登录状态是怎么做到的呢?按照正常的HTTP协议来说,是做不到的。因为HTTP协议,上下⽂⽆关协议。3. 所以说前端⻚⾯上,有可以持久化存储数据的东⻄。⼀旦登录成功,我就记载在这个⾥⾯。Cookie是有限制的。Cookie是存在浏览器⾥的,不是存在某个⻚⾯上的。是可以⻓期存储的。Cookie即使是保存在浏览器⾥,也是存放在不同的域名下的。如:访问百度的登录,输⼊⽤户名,密码。如果⽤户名

2021-12-17 22:35:09 227

原创 GET与POST区别 面试篇

Get与Post请求⽅式的区别是基于什么前提的?如果什么前提都没有,不使⽤任何规范,只考虑语法和理论上的HTTP协议。GET和POST⼏乎没有什么区别,只有名字不⼀样。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。如果是基于RFC规范的。(1)理论上的(Specification):GET和POST具有相同语法的,但是有不同的语义。get是⽤来获取数据的,post是⽤来发送数据的,其他⽅⾯没有区别。(2)实现上的(Implementation):各种浏览器

2021-12-17 15:01:51 212

原创 uni-app 公共请求方法封装

文件的层级展示创建http.js文件,导出一个封装好的promise对象(内部进行uniCloud调用)export default ({name,data={}})=> { /* 导出pormise对象 */ return new Promise((resolve,reject) => { uni.showLoading({ }) uniCloud.callFunction({ name, success({result}) { if(result.

2021-12-15 18:36:37 1780

原创 uniapp小计 h5图片请求403

uniapp请求图片403<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> <%= htmlWebpackPlugin.options.title %> </ti

2021-12-15 15:09:15 3044

原创 Vue diff vue梳理(五)

请阐述vue的diff算法参考回答:当组件创建和更新时,vue均会执行内部的update函数,该函数使用render函数生成的虚拟dom树,将新旧两树进行对比,找到差异点,最终更新到真实dom对比差异的过程叫diff,vue在内部通过一个叫patch的函数完成该过程在对比时,vue采用深度优先、同层比较的方式进行比对。在判断两个节点是否相同时,vue是通过虚拟节点的key和tag来进行判断的具体来说,首先对根节点进行对比,如果相同则将旧节点关联的真实dom的引用挂到新节点上,然后根据需要更新属

2021-12-14 15:08:49 239

原创 Vue响应式原理 vue梳理(四)

vue响应原理

2021-12-14 12:02:08 306

原创 Vue组件间传值 vue梳理(一)

【组件间的通信】父子组件通信根据业务需求来看 绝大部分的通信都是属于父子组件之间的通信prop最常见组件通信方式,由父组件传入后prop获取event同上 此属于子组件发生某些事情之后可以通过event进行通知示例效果已省略style 和 class当然 样式和类名的传递也算通信的一种,父组件向子组件传递之后会绑定到子组件的根元素上父组件<template> <div id="app"> <HelloWorld style="co

2021-11-24 22:59:35 213

原创 Vue虚拟dom vue梳理(二)

面试题:请你阐述一下对vue虚拟dom的理解什么是虚拟dom?虚拟dom本质上就是一个普通的JS对象,用于描述视图的界面结构在vue中,每个组件都有一个render函数,每个render函数都会返回一个虚拟dom树,这也就意味着每个组件都对应一棵虚拟DOM树每个组件汇聚起来就是总树 分开来看每个组件又继续细分为一个单独的虚拟dom树为什么需要虚拟dom?在vue中,渲染视图会调用render函数,这种渲染不仅发生在组件创建时,同时发生在视图依赖的数据更新时。如果在渲染时,直接使用真.

2021-11-24 22:57:15 145

原创 Vue v-model vue梳理(三)

【v-model篇】v-model即可以作用于表单元素,又可作用于自定义组件,无论是哪一种情况,它都是一个语法糖,最终会生成一个属性和一个事件当其作用于表单元素时,vue会根据作用的表单元素类型而生成合适的属性和事件。例如,作用于普通文本框的时候,它会生成value属性和input事件,而当其作用于单选框或多选框时,它会生成checked属性和change事件。v-model也可作用于自定义组件,当其作用于自定义组件时,默认情况下,它会生成一个value属性和input事件。<Comp v-m

2021-11-24 22:56:52 182

原创 伪数组转换

call和thiscall和apply都可以改变this指向 第一个都是传入需要绑定的对象,不同点在于 apply需要后面以数组形式传参 call 直接跟在后面就可以 区别不是太大 看个人喜好即可如何转换伪数组呢 这里需要我们用到一个常用切片方法 slice 这个方法传参为空时则会全部切出以数组方式返回这个时候 [].slice.call(伪数组) 即可ps :大概除了面试题会问头秃之前都应该用不到...

2021-10-11 23:26:24 75

原创 proxy代理前端跨域随笔

简单来说就是域不一样 需要跨域咱们只要表面上域是一样的就行比如你要访问 a.b.c/xx/xx 之类的但是你本地程序测试时候 一般是 localhost 或者是 127.0.0.1这俩明显就不是一个域这个时候你只要在请求时候 把需要请求的地址改成 127.0.0.1/xx/xx这样你俩表面是不就变成同源的了但是 你改变请求地址之后 就找不到数据了不是这个时候你再使用proxy 将你这个地址暗中再改回 a.b.c就行了比如正常情况下我访问的是:a.b.c/xx/xx本地调试时请求连接改成

2020-06-02 14:17:49 202

原创 算法学习总结--冒泡、选择、快排

今天来总结一下算法中比较常见的几种排序方法首先我们定义一个简单无序数组[4,1,6,9,3,2,8,7]首先排序不是单纯的比较大小,其本质是负责比较和交换首先提出三个方法模型function compare(a,b) { //比较之后需要得出是否需要交换 if (b > a ) return true; else return false;}function ...

2020-04-04 00:59:27 105

原创 算法学习总结-线性数据结构遍历

常见线性数据结构有数组和链表遍历方法分为以下两种循环遍历首先是数组遍历var arr = [1,2,3,4,5,6,7,8];function bianArr(arr) { if (arr ==null) return; for (var i=0 ; i< arr.length ; i++) { console.log(arr[i]); }}其中在算法中严谨性...

2020-03-31 03:24:53 429

原创 Vue-cli从零开始实现文章评论回复功能

在文本下面实现评论和回复功能,

2020-03-02 16:12:10 2846 7

空空如也

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

TA关注的人

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