- 博客(37)
- 收藏
- 关注
原创 http协议
http协议是无状态的 用cookie解决这一问题,cookie会根据服务端发送的响应报文内的一个叫set-cookie的首部字段信息,通知客户端保存cookie。当下次客户端再往服务器发送请求时,客户端会自动在请求报文中加入Cookie后发送出去代理网关网关可以将http协议转化为其他协议通信隧道缓存客户端If Modified since 与服务端 last-Modified...
2022-09-02 15:03:18
437
原创 对原型链的理解
在 JavaScript 中,除去一部分内建函数,绝大多数的函数都会包含有一个叫做。⽅法等其实是 Obejct 原型对象的方法,它可以被任何对象当做⾃⼰的⽅法来使⽤。基于构造函数创建出来的实例, 都可以共享访问原型对象的属性。用于判断, 某个属性, 是不是自己的 (还是原型链上的),因此这样就串联形成一个链式结构,也就是我们称为的原型链。属性,这个属性指向了当前对象的构造函数的原型。属性与它的构造函数的原型对象连接起来,这就要靠原型链的能力了。的属性,指向原型对象,而因为它的原型对象也有。
2022-09-02 11:27:13
184
原创 闭包的理解
只能通过 Person 的实例方法进行访问,外部不能直接通过实例进行访问,形成了一个私有变量。count 定义成了全局变量, 太容易被别人修改了, 我们可以利用闭包解决。需求: 定义一个计数器方法, 每次执行一次函数, 就调用一次进行计数。内层函数, 引用外层函数上的变量, 就可以形成闭包。闭包是函数和声明该函数的词法环境的组合。在实际开发中,闭包最大的作用就是用来。
2022-09-02 11:08:56
139
原创 flutter radio自定义
每初始化一个radio组件都会给controller添加一个makeMeUnselect方法,销毁时去掉该方法,组件onChange时selected变为true,同时触发controller的unSelectOther方法当前的callback不变其他的调用,触发didUpdateWidget生命周期,......
2022-07-20 18:16:56
620
原创 flutter学习相关(自用)
textField中 FocusNode获取焦点DropdownButton把List<dynamic>转换成 指定的类型List<String>.from(elements)```![在这里插入图片描述]..
2022-07-20 18:14:54
197
原创 flutter学习
1 MaterialApp 根组件2 home: Scafford 组件3 Center 组件4 Container 类似div5 Text组件6 图片组件**6.1 圆角图片两种实现方式 **7 列表组件8 网格组件9 padding组件10 Column Row组件11 Stack组件 12 AspectRatio组件13 Card 组件134在这里插入图片描述在这里插入图片描述......
2022-07-20 18:10:38
106
原创 数据结构(栈/队列/链表)
线性数据结构2. 什么叫做数据结构数据结构是计算机存储、组织数据的方式。指的是相互之间存在一种或多种特定关系的数据元素的集合。 – 百度百科可比喻成一个企业的组织结构,组织结构其实就是部门与部门之间的关系结构。数据结构就是用来描述数据与数据之间的关系线性和非线性数据结构线性结构:数据元素之间一对一的关系非线性结构:数据元素之间一对多的关系存储方式顺序存储:Set、Array散列存储:Map、Object
2022-07-20 18:08:24
1031
原创 TypeScript自用
TS与JS的区别TS: 静态类型的编程语言,编译时可以发现错误, tsc xxx.ts运行(安装typescript包) 、ts-node xxx.ts运行(安装ts-node包)JS:动态类型的编程语言,运行时可以发现错误,node xxx.js运行联合类型let arr:(number| string)[] =[1,2,'3']类型别名type CustomArray = (number | string)[]let arr1:CustomArray = [1,2,'23']可选
2022-07-20 16:08:14
106
原创 vuex基础
为什么会有Vuex?Vuex是一个专为Vue.js应用程序开发的。它采用**集中式可预测**的方式发生变化。mutationsmutations。
2022-07-15 16:13:49
122
原创 vue3自学点
组合式apisetup是一个新的配置选项,它是一个函数,该函数是组合API的入口函数。setup函数只会在组件初始化执行一次,且在beforeCreate生命周期函数之前执行。ToRefs()toRefs 函数的作用,与使用场景作用:把对象中的每一个属性做一次包装成为响应式数据响应式数据展开的时候使用,解构响应式数据的时候使用vue3不兼容vue2的地方不再支持:过滤器 filter同步修饰符 :visible.sync=“dialogFormVisible”怎么替代:函数(过滤器)
2022-04-06 15:32:01
292
原创 vue3图片懒加载
介绍一个webAPI:IntersectionObserver// 创建观察对象实例const observer = new IntersectionObserver(callback[, options])// callback 被观察dom进入可视区离开可视区都会触发// - 两个回调参数 entries , observer// - entries 被观察的元素信息对象的数组 [{元素信息},{}],信息中isIntersecting判断进入或离开// - observer 就是观察实例
2022-01-20 15:20:12
433
原创 解决flutter webview在iOS模拟器中输入框不能输入的问题
在ios > Runner > AppDelegate.swift中添加以下代码即可:extension FlutterViewController { open override func pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?) { super.pressesBegan(presses, with: event) } open override
2021-09-01 10:25:41
670
原创 vue.config.js关于引入css的配置
每次使用公用的变量和mixin的时候需要单独引入到文件中。解决方法: 使用vuecli的style-resoures-loader插件来完成自动注入到每个less文件或者vue组件中style标签中。在当前项目下执行一下命令vue add style-resources-loader,添加一个vuecli的插件安装完毕后会在vue.config.js中自动添加配置,如下: pluginOptions: { 'style-resources-loader': { preProce
2021-08-19 17:23:25
5059
原创 CSS3属性选择器/结构伪类选择器/伪元素选择器
css属性选择器/* 只选择 type =text 文本框的input 选取出来 */input[type=text] {color: pink;}/* 选择首先是div 然后 具有class属性 并且属性值 必须是 icon开头的这些元素 */div[class^=icon] {color: red;}/* 选择首先是section 然后 具有class属性 并且属性值 必须是 data结尾的这些元素 */section[class$=data] {color: blue;}
2021-01-31 21:16:40
115
原创 CSS3其他特性
图标变模糊 – CSS3滤镜filterfilter CSS属性将模糊或颜色偏移等图形效果应用于元素语法:filter: 函数(); --> 例如: filter: blur(5px); --> blur模糊处理 数值越大越模糊计算盒子宽度 – calc 函数calc() 此CSS函数让你在声明CSS属性值时执行一些计算语法:width: calc(100% - 80px);括号里面可以使用 + - * / 来进行计算CSS3 过渡(★★★)过渡(transi
2021-01-31 21:13:36
73
原创 CSS 模块化
CSS 模块化的三种解决方案:CSS 命名约定 BEM规范(很早以前)BEM — Block Element Modifier依旧使用 CSS,使用 JS 编译原生的 CSS 文件,使其具备模块化的能力 CSS-Modules彻底抛弃 CSS,使用 JS 写 CSS 规则,并内联样式 CSS-IN-JS1. CSS Modules 方案CSS Modules 既不是官方标准,也不是浏览器的特性,而是在构建阶段对 CSS 类名选择器限定作用域的一种方式。1.1 CSS Modu.
2021-01-14 15:14:36
536
原创 TypeScript
Flow是一个类型检查工具,TypeScript是一种开发语言!ts中的数据类型number string boolean array<> Tuple元组 void undefined null any never object类型// numberlet a: number = 10;let b: number = NaN;let c: number = Infinity;let d: number = 0xA12;let e: number = 0b1010101;
2021-01-14 12:51:01
380
原创 Flow的介绍
官网Flow是什么?Static Type Checker For JavaScript静态类型检查工具Flow能做什么?Flow能够给JavaScript提供静态类型检查的能力,其实就是为javascript添加了一个编译过程。Flow的使用安装Flownpm i flow-bin -D需要编写Flow代码通过注释的方式为代码添加类型 (不会对js代码产生任何更改,影响)通过直接在js代码中书写类型 (改变了js代码的结构,需要通过babel进行转码之后,才能够正常的运行)
2021-01-13 17:04:07
206
原创 弱类型和强类型 动态类型和静态类型
弱类型在定义变量的时候,我们可以为变量赋值任何数据,变量的数据类型不是固定死的,这样的类型叫做弱类型var a = 10;a = "abc";a = [];a = function(){};强类型在声明变量的时候,一旦给变量赋值,那么变量的数据类型就已经确定,之后如果要给该变量赋值其他类型的数据,需要进行强制数据类型转换。int a = 10;a = "10";动态类型和静态类型动态类型和静态类型的核心区别: 动态类型的类型检查会在代码运行的时候进行,而静态类型的类型检查则是在编译
2021-01-13 16:12:57
154
原创 async函数
基本概念async 函数是什么?一句话,它就是 Generator 函数的语法糖。将上一章的代码改成 async 函数的版本:const { promisify } = require("util");const path = require('path')const file1 = path.join(__dirname, './text/1.txt')const file2 = path.join(__dirname, './text/2.txt')const readFileP = pr
2021-01-13 14:46:17
424
原创 Generator函数
基本概念Generator(生成器) 函数是 ES6 提供的一种异步编程解决方案,并且Generator函数的行为与传统函数完全不同。定义Generator函数function* f() { }形式上,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部可以使用yield关键字,定义不同的内部状态(yield在英语里的意思就是“产出”)。执行Generator函数执行 Generator 函数,函数本身不会执行,
2021-01-12 17:38:58
113
原创 Iterator
Iterator(遍历器、迭代器) 是一个对象,Iterator对象需要包含一个next方法,该方法返回一个对象,此对象有两个属性,一个value表示当前结果,一个done表示是否可以继续迭代let it = makeIterator();function makeIterator() { let nextIndex = 0; return { next: function() { return nextIndex < 5 ? {value: nextIn
2021-01-12 14:41:22
116
原创 Reflect
Reflect是 ES6 为了操作对象而提供的新 API。ES6把原先版本中很多语言层面的API,比如Object.defineProperty delete in等集中在了Reflect的静态方法上,引入Reflect的目的有这样几个。(1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object和Reflect对象上部署,未来的新方法将只部署在Reflect对象上。也就是说,从Reflect对象上可
2021-01-12 14:18:53
93
原创 Proxy
在ES6之前Object.defineProperty可以拦截对象属性的读取和修改操作,Proxy 可以理解成比这个API更强大的,在目标对象之前架设一层的“拦截”。外界对该Proxy对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。注意:只有对生成的 Proxy 实例操作才能起到拦截的作用生成Proxy实例:var proxy = new Proxy(target, handl
2021-01-12 13:00:16
7632
原创 Set和WeakSet,Map和WeakMap
Set和WeakSet1.1 SetES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。需要记录不同成员的又不希望重复记录的情况下可以用到Set如何生成Set:let set1 = new Set()let set2 = new Set([1,2,3])Set 实例的属性:Set.prototype.size:返回Set实例的成员总数。Set 实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。四个操作方法:Set.pro
2021-01-12 12:21:30
193
原创 Symbol
1.1 概述表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、Boolean、String、Number、Object注意 Symbol函数前不能使用new命令,否则会报错。Symbol函数可以接受一个字符串作为参数,表示对 Symbol 的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分。let s1 = Symbol('foo');let s2 = Symbol('bar');s1 // Symbol(foo)s2 /
2021-01-11 17:04:08
165
原创 JS中的继承
1. 原型链继承function WangJianLin() { this.money = "100w" this.house=["上海","北京"]}function WangSiCong(){this.girls = ['豆豆','雪梨']}// 王思聪用原型来继承王健林实例WangSiCong.prototype = new WangJianLin()问题:包含引用类型值的原型属性会被所有实例共享// 创建两个王思聪实例,改变第一个实例的原型属性(引用类型),第二次创
2021-01-07 18:26:17
96
原创 material-table的使用
安装安装包npm install material-table @material-ui/core --saveyarn add material-table @material-ui/core安装图标npm install @material-ui/icons --save ORyarn add @material-ui/icons创建文件tableIcon.tsx
2021-01-05 14:05:08
1631
原创 react项目中使用mobx-event-bus组件传值
参考网站:https://www.npmjs.com/package/mobx-event-bus2安装依赖包npm install mobx-event-bus2 --save 或者 yarn add mobx-event-bus2以下是个人理解,应该有不对的地方,欢迎指正子组件 --CalcPeriodPanel.tsx引入依赖包import { eventBus, subscribe } from "mobx-event-bus2";构造函数里注册eventbuse
2020-12-25 15:50:43
622
2
原创 react启动项目提示端口被占用是否开启另一端口,但是项目依然不能重启
问题描述:Something is already running on port 3000. Would you like to run the app on another port instead? » (Y/n)尝试截图命令终止占用端口netstat -aon | findstr 3000taskkill /pid 4140 或者 taskkill /F /pid 4140使用以上还是不能解决问题,则直接重新安装react-scripts版本再重新运行npm ins
2020-12-17 17:53:18
1088
原创 米签---个人中心页面功能(uniapp)
在onLoad生命周期接受传参,未登录的话在获取信息失败(401)方法里通过uni.redirectTo()重定向至登录页 onLoad(options) { if (options.auth) { this.auth = options.auth console.log(this.auth) } this.getUserCenter() }个人用户显示头像用户名信息,如果已经实名,显示手机号未实名显示绑定手机号,点击绑定手机号,去绑定。(code为小程序专.
2020-12-11 16:13:31
5425
原创 微信小程序授权登录/登录页功能(uni-app)
用户未授权过的情况下调用uni.getUesrInfo接口,不会出现授权弹窗进入登录页判断是否已经授权登录过在onReady生命周期通过api uni.login()在成功回调里获取code后调用后端登录授权接口判断是否已经登录过,登录过则传入code参数返回token,存入本地 onReady() { // 获取微信code uni.login({ success: (res) => { if (res.code) { // console
2020-12-10 17:22:18
4535
1
原创 微信小程序-用类的方法封装请求(基于uniapp)
http.js文件,引入基地址进行如下封装:import BASE_URL from '@/environmen/environment.js';class httputil { /** * get请求 * @param {*} url * @param {*} params */ get({url, params}) { const token = uni.getStorageSync('token') /
2020-12-10 12:36:29
305
原创 HBuildx项目运行到小程序出现下面提示
HBuildx项目运行到小程序出现下面提示提示服务器已开启,没有报错但是小程序没有反应,这种情况下是由于你不是该项目的开发者导致的。需要在开发者平台去设置添加你为项目成员即可。
2020-12-10 11:14:14
373
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人