![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
个人学习总结
文章平均质量分 80
吞吞吐吐屠屠兔兔
这个作者很懒,什么都没留下…
展开
-
函数式编程入门
一、 面向过程编程、面向对象编程、函数式编程概要1.命令式编程:即过程式编程。强调怎么做。2.面向对象编程: 通过对一类事物的抽象,即class,其中对象是基本单元。常用的是继承方式。 平时会看到生命周期、链式调用。比如react中的类组件。3.函数式编程:即声明式编程。强调做什么。更加符合自然语言。常用的是组合的方式。平时看到的数据驱动(响应式编程)。比如react的函数组件+hooks。二、函数式编程特性1.纯函数:相同的输入,永远会得到相同的输出。即也就是数学函数。原创 2021-07-28 14:12:38 · 1036 阅读 · 0 评论 -
理解JS异步
一、浏览器是多进程的,JS是单线程的二、进程、线程、协程解释:单个CUP,可能有多个进程,但是单个CPU只能运行一个进程;一个进程可能有多个线程,并且一个进程的资源是多个线程共享的;一个线程里面可能有多个协程,一个线程同时只能执行一个协程,如果这个协程需要等待某些条件才可以完成,可以停止当前协程,利用这段时间去做其他事情。所以简单的比喻就是:CUP(工厂)、进程(车间)、线程(工人)、协程(具体的事情)三、同步任务与异步任务同步任务:a执行完才能执行b。...原创 2021-07-28 14:09:40 · 300 阅读 · 0 评论 -
TS初体验2
一、TS是什么? TS是JS的超集,即是JS的一种静态类型检查工具。一、为什么要体验TS? 1. 使用TS则在编译阶段早发现一些错误使用,而JS是看看代码运行后会发生什么。 2.平时开发使用的第三方库(大多是结合TS开发的,比如ant-design)api如何使用可以快速查询。 3. 想在之后的项目中尝试引入。三、TS中的语法难点 infer:更灵活的类型推断装饰器:就当做一个函数 ,然后可以注释或修改类和类方法等。比如...原创 2021-07-28 14:02:17 · 5901 阅读 · 0 评论 -
git总汇
一、前提1、当我们使用git命令时,有的常会用到一些vi/vim操作。常用的如下: 命令 说明 ESC 退出输入模式,切换到命令模式 i、a、o 大小写 切换到输入模式 :q 退出程序 :w 保存文件 :wq 保存并退出 :wq! 强制保存后离开 Eg:我们输入一个交互式命令如下2、Git参数,常用参数说明如下: git参数 ...原创 2021-07-28 13:50:52 · 163 阅读 · 0 评论 -
TS语法初体验
1. 导入导出2. 类3. 多继承参考多继承例子4. keyof 索引类型5. infer 类型推断6. extends 条件判断7.数组泛型8. 类型声明9. 索引签名10.void ,never, unknown11.函数重载12. 泛型约束extends13. Generic Function 泛型函数14.定义构造函数15. 函数...原创 2021-07-17 18:22:43 · 407 阅读 · 0 评论 -
谈谈对闭包的理解
/**1. 闭包是什么?a. 某一个函数可以记住并在所在的词法作用域(父函数)外部访问所在的词法作用域(父函数)时,就产生了闭包。b. 所以在以上情况满足的条件下,对所在的词法作用域的引用,这个引用就是闭包。而这个引用是一个函数,这个函数包含了(父函数)的变量。简单的说。所以 闭包是 一种引用。 闭包函数: 就是被引用的能记住所在的词法作用域的函数。*//**2. 下面我们将闭包的概念进行图形化(那就是代码)理解,让我想起了:taik is cheap, show ..原创 2021-06-21 02:15:32 · 590 阅读 · 1 评论 -
原生表单到UI库封装的表单
一、初识表单表单:用来收集用户提交的数据,发送到服务器。提交形式: key1=value1&key2=value2 ,浏览器自动完成提交方式:submit控件:<input type="submit" value="提交">Enter键: 在 input 字段中按下Enter 键button元素:<button>提交</button>,默认有type="submit"表单元素脚本提交:formElement.submit();阻止提交:原创 2020-10-17 21:16:25 · 211 阅读 · 0 评论 -
从原型继承到类继承详解
从原型继承到类继承详解构造函数的产生new 命令的原理this的产生注意点1注意点2Function.prototype.bind()原型链构造函数的继承类取值函数(getter)和存值函数(setter)类继承判断一个类是否继承了另一个类super 关键字子类的`__proto__` 和子类的`prototype`实例的`__proto__`拓展构造函数的产生对象是一个容器,封装了属性(property)和方法(method)生成对象,需要一个模板.JavaScript 语言使用构造函原创 2020-10-09 08:11:37 · 491 阅读 · 0 评论 -
ES6中的常用异步对象和函数
1.promise对象// promise对象const promise=new Promise((resolve,reject)=>{ console.log(1); resolve(); console.log(2);})promise.then(()=>{ console.log(3);})console.log(4);//打印的结果:1,2,4,3const promise=Promise.resolve(1).then(2).then原创 2020-06-04 23:44:23 · 256 阅读 · 0 评论 -
模块化的发展
1.无模块化的时代2.初步解决无模块化的bug3.Common.JS 模块化时代4.Require.js模块化时代(AMD)5.Sea.js模块化时代(CMD)6.ES6 module模块化时代怎么用、优点、缺点、如何做下一步改进、使用的环境、区别、服务器的如何在浏览器使用、浏览器的如何在服务器使用、如何两者都兼容。后序待补充.........原创 2020-01-02 00:24:14 · 290 阅读 · 0 评论 -
细说事件流
相信大家对事件流有一点的认识,在这里我就通过一个例子来说明其中的细节。这是你知道的不知道的,不知道的知道的,笑死。一、事件阶段: 捕获阶段 目标阶段冒泡阶段二、案例分析1.html部分<div id='wrapDiv'>wrapDiv <p id="innerP">innerP <span id...原创 2019-11-13 17:47:49 · 234 阅读 · 0 评论 -
Q7:难道不想手工搞个环境?
一.有的参考1.webpack中文网:https://www.webpackjs.com/concepts/wepack是什么?(提供浏览器使用,那浏览器能运行什么,不能运行什么)2.搭建vue:https://juejin.im/post/5cc55c336fb9a032086dd7013.Vue CLI:https://cli.vuejs.org/zh/4.npm:http...原创 2019-09-16 22:24:19 · 18183 阅读 · 0 评论 -
Q6:问题出在什么地方?
曾经的;以前的;最近的;现在的;给自己留个纪念了。1.elementUI(1)鼠标悬浮文字提示------el-tooltip组件// 第1:el-tooltip要和i标签配合<el-tooltip effect="dark" placement="bottom"> <div slot="content"> //第2:本来el-to...原创 2019-09-16 09:58:01 · 467 阅读 · 0 评论 -
Q5:ES6如何实现二叉搜索树的基本操作?
/** * ES6版本 */// 搜索效率高let Tree = (() => { // 私有变量 let root = null; // 辅助类 class Node { constructor(element) { this.value = element; this.left ...原创 2019-09-03 10:45:17 · 159 阅读 · 0 评论 -
Q4:站在高中生的角度如何计算时间复杂度?
一、算法复杂度是什么?算法复杂度分为时间复杂度和空间复杂度。时间复杂度是指执行算法所需要的计算量(一段代码执行的次数多少透露出消耗的时间);空间复杂度是指执行这个算法所需要的内存空间(一个算法在运行过程中临时占用存储空间大小的量度)。直接插入排序的空间复杂度是O(1) 。而一般的递归算法就要有O(n)的空间复杂度了,因为每次递归都要存储返回信息。...原创 2019-08-10 17:10:09 · 269 阅读 · 0 评论 -
Q3:Linux命令要会哪些?
通俗的说几个基础概念:终端(Terminal):就是我们打开的一个个"小黑框"。命令行解释器(Shell):在终端里面「输入命令,得到结果」的交互程序。再通俗一点,就是用户和操作系统的之间的接口。那就是为用户提供使用操作系统的入口啦。shell有哪些:比如cmd,powershell,bash,IDE的终端等简单的说几个Linux命令: 如何在Windows终端使用...原创 2019-08-08 12:02:04 · 357 阅读 · 1 评论 -
CSS3基础
一、CSS3主要包含以下部分: 选择器、盒模型 、背景和边框 、文字特效 、2D/3D转换 、动画 、多列布局和用户界面。二、CSS3属性选择器E[attr]只使用属性名,但没有确定任何属性值E[type="text"]指定属性名,并指定了该属性的属性值E[attr~="value"]指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而...原创 2018-04-24 16:57:01 · 251 阅读 · 0 评论 -
Git上项目创建步骤
Git上项目创建步骤(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) 以上是我初次接触git,学习创建项目步骤!!!!如有不对的,请大家指正!!! ...原创 2018-04-27 23:26:08 · 1134 阅读 · 2 评论 -
浏览器工作流程
首先我们必须明确一点就是:浏览器工作流程中采用流式处理,可以简单的理解为一部分DOM元素构造好后,去检查它匹配到了那些CSS规则,而不是等整棵DOM树构建好后才去匹配CSS规则。 其次,浏览器工作的大致流程是什么呢?输入URL;(即目的是使用HTTP/HTTPS协议,向服务器请求页面) 将URL变成字符流,把字符流变成词(token)流,把词流构造成DOM树...原创 2019-04-01 17:25:15 · 593 阅读 · 0 评论 -
offsetX/offsetY、clientX/clientY和screenX/screenY
原创 2019-05-05 23:00:03 · 558 阅读 · 1 评论 -
AO对象,GO对象 的预解析和再执行
一、AO的初始化步骤 1.创建一个AO对象 AO{} 2.将函数内所有的 形参 和 变量声明的名 存储到 AO对象中,value为undefined 3.将形参和实参进行相统一 4.将所有的函数声明的函数名作为AO对象中的key,函数体内容为value存储到AO对象中二、AO再执行 (赋值)三、举例分析function t...原创 2019-05-19 22:18:48 · 658 阅读 · 0 评论 -
BOM树和DOM树
文字表述:BOM 提供了访问浏览器各种功能部件的途径,例如浏览器窗口本身、浏览器历史等;DOM 提供了访问浏览器中网页文档各元素的途径,包括页面中的超链接、表单等各种html元素及其内容。BOM与DOM的关系:BOM的window对象中包含一个document属性,该属性是对DOM模型的document对象的引用,代表了当前窗口中网页文档所对应的document对象,通过该属性可以访问...原创 2019-05-19 22:50:03 · 2297 阅读 · 0 评论 -
垃圾回收机制
原创 2019-05-17 09:50:37 · 139 阅读 · 0 评论 -
this指向
我觉得还是得做个题,尝试一下 // this是什么 ? 这句话值千金 谁调指向谁,不写默认指向Window var numbers = { numberA: 5, numberB: 10, sum: function () { console.log(this...原创 2019-05-17 16:40:48 · 165 阅读 · 0 评论 -
上下文环境、作用域、作用域链、闭包
上下文环境:所有的变量都在里面存储着-----是在调用时创建的----上下文是动态的计算。作用域:除了全局作用域,只有函数才能创建作用域---在定义时创建的---作用域是静态的组织结构。上下文环境和作用域的关系: ①一个作用域下可能包含若干个上下文环境。有可能从来没有过上下文环境(函数从来就没有被调用过);有可能有过,现在函数被调用完毕后,上下文环境被销毁了;有...原创 2019-05-17 17:13:05 · 314 阅读 · 0 评论 -
原型、原型链
javascript中的继承是通过原型链实现原型链:访问一个对象的属性时,先在基本属性中查找,如果没有,再沿着__proto__这条链向上找,这就是原型链。 fn.__proto__ === Fn.prototype //实例的‘隐式原型’===实例的函数的‘原型’Instanceof运算符:第一个变量是一个对象,暂时称为A;第二个变量一般是一个函数,暂时称为...原创 2019-05-17 17:26:37 · 204 阅读 · 0 评论 -
从可视区宽高谈起
how 获取可视区宽高的问题,而引起的一阵‘风波’~~~原创 2019-05-30 21:16:26 · 163 阅读 · 0 评论 -
Q1:函数表达式理解了吗
1.先来看看这个问题,结果和你心中的答案一样吗?No,Go on!var a = function b() {}console.log(typeof a) //functionconsole.log(typeof b) //undefinedconsole.log(typeof b()) //Uncaught ReferenceError: b is not defined...原创 2019-06-30 18:35:52 · 242 阅读 · 0 评论 -
Q2:利用Vue CLI 3.x如何构建项目?(针对windows)
具体安装请看官网。以下是简单的走个流程-----------------------------------------------------“code如此多骄,引无数coder竞折腰”一.准备工作 1.git下载并安装,官网链接:https://gitforwindows.org/;也就是我们用的git bash.(可以当cmd使用,也就git命令;也遵循Linux命令) ...原创 2019-07-20 20:16:32 · 290 阅读 · 4 评论 -
普通三栏式布局、圣杯布局、双飞翼布局
一、普通三栏式布局 1.用浮动布局 注意点: (1)为了自适应,width值设为%形式,指的是父元素宽度的百分之多少 (2)浮动后,要给其父元素清除浮动,此代码用了伪类的方法.warp:after{display: block;clear: both;content: "";height: 0;} 代码如下: 演示如下: 2.用定位...原创 2018-03-28 00:34:42 · 358 阅读 · 0 评论