- 博客(17)
- 收藏
- 关注
原创 理解JS中的构造函数
JavaScript中的构造函数理解构造函数模式为什么要使用构造函数模式首先我们看看使用工厂模式创建对象 function createPerson(name,age){ let o = new Object(); o.name = name; o.age = age; o.sayName = function(){ console.log(this.name) } return o; }在这个例子中,使用工厂模式创
2021-04-03 14:46:24
210
1
原创 Git的基本使用
ubuntu下 安装git打开终端,输入sudo apt-get install git安装完成后,查看版本号 git --version配置git配置用户名 git config --global user.name “”配置邮箱 git config --global user.email “”git的使用提交步骤git init 初始化git仓库git status 查看文件状态git add 文件列表 追踪文件git commit -m 提交信息 向仓库中提交代码
2021-04-03 12:29:28
152
原创 vim的常用快捷操作(在vscode里使用vim)
前言最近趁着寒假有时间,随便鼓捣了会 Ubuntu 和 vim,在练习了一段时间 vim 后,发现它的使用思想大大提高了我的编辑效率。但 vim 需要在 linux 系统中使用,因此我就在 vscode 里安装了 vim 插件进行使用,下面是我总结的一些 vim 常用的快捷键 方便记忆vim 基本快捷键光标移动上下左右 kjhl数字 + gg 跳到某一行command 模式下输入行号 同样是跳到某一行f{char} 光标跳到下一个 char 所在的位置F{char} 光标跳到上一个 char
2021-04-03 12:28:09
1148
原创 理解JS中的原型
为什么使用原型模式与构造函数不同的是,使用原型模式定义的属性和方法是每个实例化对象共享的每个函数都会创建一个prototype属性,这个属性是一个对象,包含应该由特定引用类型的实例共享的属性和方法理解原型 function Person(){} Person.prototype.name = 'simple'; Person.prototype.age = 20; Person.prototype.sayName = function(){ console.log(this
2021-04-03 12:25:59
151
原创 搭建+美化hexo博客(让你拥有自己的博客)
安裝必备软件软件安装首先我们需要安装git、node.js、npm、hexogit的安装首先更新ubuntu存储库的软件包索引号sudo apt-get update安装gitsudo apt install git验证并检查git的安装版本git --version配置git此时我们需要配置自己的用户信息git config --global user.name "...."git config --global user.email "...."nod
2021-04-03 12:23:19
238
原创 计算机网络笔记-第二章
计算机网络第二章物理层基本概念物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层主要任务:确定与传输媒体接口有关的一些特性机械特性:定义物理连接的特性,规定物理连接时所采用的规格,接口形状、引线数目、引脚数量和排列情况电气特性:规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制等功能特性:指明某条线上出现的某一电平表示何种意义,接口部件的信号线的用途规程特性 (过程特性):定义各条物理线路的工作规程和时序关系数据通信基础知识数据
2021-01-25 16:35:10
907
原创 计算机网络笔记-第一章
计算机网络第一章计算机网络概念计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统计算机网络是互连、自治的计算机集合计算机网络的功能数据通信(连通性)资源共享(硬件、软件、数据)分布式处理提高可靠性负载均衡计算机网络的组成组成部分:硬件、软件、协议工作方式:边缘部分(用户直接使用 eg:主机、端系统)核心部分(为边缘部分服务 eg:路由器)功能组成:通信子网(实现数据通信)资源子网(实
2021-01-23 12:03:31
166
原创 JS笔记-字符串
JavaScript内置对象-String字符串对象方法位置方法charAt()语法:string.charAt(index)功能:返回string中index位置的字符 let str = "hello world"; console.log(str[1]); // "e" console.log(str.charAt(0)); // "h" console.log(str.charCodeAt(4)); // 111 charCodeAt()返回的是字符的编码
2021-01-19 16:01:47
79
原创 JS笔记-数组
JavaScript内置对象-数组创建数组使用Array构造函数语法:new Array()小括号说明:预先知道数组要保存的长度向Array构造函数传递数组应包含的项 let arr = new Array(3); let colors = new Array("blue","red");使用数组字面量表示法 let arr = [1,2,3,{name:"mike",age:18}];数组长度语法:array.length功能:获取数组array的
2021-01-19 10:32:16
102
原创 JS笔记-基本语法
Javascript 基本语法JS数据类型typeof操作符功能:检测变量类型返回值:string number boolean object undefined function console.log(typeof null); // objectnull 与 undefinedundefined值是派生自null值的,所以undefined == null 的返回结果是true。Number类型Number:表示整数和浮点数NaN:非数值 是一个特殊的数值任何涉及N
2021-01-17 21:49:07
193
3
原创 JS-DOM事件流
事件流事件流描述的是从页面中接收事件的顺序。事件发生时会在元素节点之间按照特定的顺序传播,这个传播过程即 DOM 事件流。DOM事件流DOM事件流分为三个阶段:1.捕获阶段2.当前目标阶段3.冒泡阶段注意JS 代码中只能执行捕获或者冒泡其中的一个阶段。onclick 和 attachEvent 只能得到冒泡阶段。addEventListener(type, listener[, useCapture])第三个参数如果是 true,表示在事件捕获阶段调用事件处理程序;如果是 fal
2020-12-06 10:52:11
122
原创 排序算法——直接插入排序
基本思想直接插入排序是一种最简单的排序方法,它的基本思想是:初始时,有序表有一个元素,而无序表中有n-1个元素,每次进行排序时将无序表的第一个元素插入到有序表的适当位置,重复n-1次完成排序举个例子:升序排列对于上面这个数组来说,我们的有序表中有8这个元素,然后将无序表中的6插入到有序表中,比较8和6两个元素然后交换。然后将9插入到有序表中,发现此时是最大的元素于是插入到8的后面。然后将12插入到有序表中,发现此时是最大的元素于是插入到12的后面。然后将1插入到有序表中,发现此时1比1
2020-11-29 22:45:41
314
原创 css-动画animation的使用
动画动画和过渡类似,都是可以实现一些动态的效果,不同的是过渡需要在某个属性发生变化时才会触发。动画可以自动触发动态效果 设置动画效果,必须先要设置一个关键帧,关键帧设置了动画执行每一个步骤@keyframes test { /* from表示动画的开始位置 也可以使用 0% 表示 */ from { margin-left: 0; } /* to表示动画的结束位置
2020-11-24 17:35:00
352
原创 你不知道的Javascript(上卷)-this笔记
关于this的误解1.this并不指向函数本身function foo(num){ console.log(num); this.count++;}foo.count = 0;for(var i=0;i < 10; i++){ if(i>5){ foo(i); }}console.log(foo.count); //0执行foo.count = 0时,的确向函数对象foo添加了一个属性count。但是函数内部代码this.count中的this并不是指向那个函数
2020-11-22 14:35:28
131
原创 你不知道的Javascript(上卷)-闭包笔记
认识闭包当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。function foo(){ var a = 2; function bar(){ console.log(a); } return bar;}var baz = foo();baz(); //2函数bar()的词法作用域能够访问foo()的内部作用域,在foo()执行后,通常会期待foo()的整个内部作用域都被销毁,但是闭包可以阻止其发生,因为bar()仍然在使用内部作用域。ba
2020-11-17 17:46:39
165
原创 CSS-清除浮动
为什么要清除浮动1.防止父元素高度塌陷2.防止父元素下面的兄弟元素布局混乱清除浮动的四种方法1.额外标签法,(新增加的盒子必须是块级元素)
2020-11-14 10:35:42
137
原创 你不知道的Javascript(上卷)-作用域笔记
作用域是什么1.理解作用域首先看一段声明代码var a = 2;在此声明变量并赋值的操作中会执行两个动作,首先编译器会在当前作用域中声明一个变量(如果之前没有声明过),然后在运行时引擎会在作用域中查找该变量,如果能够找到就会对它赋值。对于第一个操作中,引擎为变量a进行LHS查询。另外一个查找的类型叫作RHS查询。当变量出现在赋值操作的左侧时进行LHS查询,出现在右侧时进行RHS查询。如果查找的目的是对变量进行赋值,那么就会使用LHS查询;如果目的是获取变量的值,就会使用RHS查询。RHS查询与
2020-11-01 16:13:41
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人