自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(145)
  • 收藏
  • 关注

原创 包管理器 npm

前端开发中常用的包管理器有以下几种:npm (Node Package Manager):npm是Node.js的包管理器,也是最常用的前端包管理工具。它是一个命令行工具,用于安装、更新和卸载依赖包,并管理项目中的各种依赖关系Yarn:Yarn是由Facebook开发的另一个包管理工具,也是用于管理JavaScript包的命令行工具。与npm相比,Yarn提供了一些额外的功能和性能优化,如并行安装、离线模式。

2023-10-21 12:21:57 398

原创 【Python 4】列表与元组slice切片 迭代 列表生成式 生成器generator 迭代器Iterator对象

enerator保存的是算法,每次调用next(g),就计算出g的下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出StopIteration的错误。可以看出,Python的for循环抽象程度要高于C的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。这样就不必创建完整的list,从而节省大量的空间。list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代。

2023-10-11 19:32:53 336

原创 【Python 3】函数

如果你已经把my_abs()的函数定义保存为abstest.py文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs来导入my_abs()函数,注意abstest是文件名(不含.py扩展名)由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。但是在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。

2023-10-11 15:45:08 284

原创 【Python 2】列表 模式匹配 循环 dict set 可变对象与不可变对象

给定一个名字,比如’Michael’,dict在内部就可以直接计算出Michael对应的存放成绩的“页码”,也就是95这个数字存放的内存地址,直接取出来,所以速度非常快。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。这种key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value。如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素,以此类推,可以获取倒数第2个、倒数第3个。

2023-10-09 16:01:47 931

原创 【ES6 03】变量解构赋值

上面代码中,属性x等于null,因为null与undefined不严格相等,所以是个有效的赋值,导致默认值3不会生效。注意,最后一次对line属性的解构赋值之中,只有line是变量,loc和start都是模式,不是变量。真正被赋值的是变量baz,而不是模式foo。上面代码中,函数move的参数是一个对象,通过对这个对象进行解构,得到变量x和y的值。如果默认值是一个表达式,那么这个表达式是惰性求值的,即只有在用到的时候,才会求值。也就是说,对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。

2023-10-09 10:43:22 499

原创 【JavaScript 20】String对象 构造函数 工具方法 静态方法 实例属性 实例方法

【JavaScript 20】String对象 构造函数 工具方法 静态方法 实例属性 实例方法主要是String.fromCharCode()该方法的参数是一个或多个数值,代表 Unicode 码点,返回值是这些码点组成的字符串注意,该方法不支持 Unicode 码点大于0xFFFF的字符,即传入的参数不能大于0xFFFF(即十进制的 65535)

2023-10-08 21:38:43 173

原创 【Python 1】

由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。对于很大的数,例如10000000000,很难数清楚0的个数。由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10。

2023-10-08 20:34:04 122

原创 回调函数 事件回调 异步事件 异步函数 JS事件流 事件的捕获模式

事件的捕获模式指的是在事件流中,事件从最外层的父元素向内层元素逐级捕获的过程。值得注意的是,大部分DOM事件默认使用冒泡模式,而不是捕获模式。总结起来,事件的捕获模式是事件流中的一种方式,指的是事件从最外层的父元素向内层元素逐级捕获的过程。而Promise是一种更为现代化的异步处理机制,它以链式调用的方式来处理异步操作的结果,并可以通过then和catch方法来处理成功和失败的情况。在异步函数中,可以使用await关键字等待一个返回Promise的异步操作的完成,并暂停函数的执行直到获得异步操作的结果。

2023-10-06 22:50:40 321

原创 【JavaScript 19】Array对象 构造函数 静态方法 实例方法

Array是 JavaScript 的原生对象,同时也是一个构造函数,可以用它生成新的数组Array()构造函数的参数2,表示生成一个两个成员的数组,每个位置都是空值如果没有使用new关键字,运行结果也是一样的考虑到语义性,以及与其他构造函数用法保持一致,建议总是加上newArray()构造函数有一个很大的缺陷,不同的参数个数会导致不一致的行为可以看到,Array()作为构造函数,行为很不一致因此,不建议使用它生成新数组,直接使用数组字面量是更好的做法。

2023-09-28 15:36:14 293

原创 CDN加速 边缘节点

CDN的工作原理是通过将内容(如静态资源、图片、视频等)部署到全球各个边缘节点,使用户能够从最近的节点获取内容,而不必经过长距离的传输。提供高可用性和容错能力:由于CDN分布在不同的地理位置,即使某个节点发生故障,仍然可以从其他节点获取内容,提供高可用性和容错能力。缓解源服务器的负载压力:由于CDN可以缓存和提供静态资源,源服务器可以集中精力处理动态内容和数据,从而减轻了服务器的负载压力。节约带宽成本:CDN通过将内容存储在节点中,减少了从源服务器到用户的数据传输量,从而降低了带宽消耗和网络流量的成本。

2023-09-09 13:34:30 416

原创 前端构建工具 代码优化压缩 模块管理 依赖管理 资源处理转换 自动化任务 流程优化 高级特性 Webpack Parcel Rollup Gulp 静态资源

前端构建在前端开发中具有重要的意义,主要有以下几个方面:代码优化和压缩:前端构建工具可以对前端代码进行优化和压缩,例如去除注释、空格,合并和缩小文件大小等。这可以减少文件的加载时间和传输大小,提高网页加载速度,优化用户体验模块管理和依赖管理:前端构建工具可以处理模块的加载、引用和依赖关系,将分散的代码模块整合为一个或几个文件,并确保它们按正确的顺序加载。这有助于维护和管理复杂的前端项目结构,提高代码的可读性和可维护性。

2023-09-09 12:05:17 499

原创 Vue / Vue CLI / Vue Router / Vuex / Element UI

VueVue CLIVue RouterVuexElement UI

2023-09-09 11:45:16 649

原创 CSS预处理器 Sass Less

使用CSS预处理器,开发者可以将样式代码组织成模块化的文件,避免代码重复,并使用更有表达力的语法实现复杂的样式规则最终,使用CSS预处理器可以提高开发效率并降低维护成本,使得样式代码更加灵活、可读性更高它们允许开发者使用更灵活的语法和功能来编写CSS样式,以提高代码的可维护性和可复用性。预处理器还提供了自定义函数、算术运算、条件语句等功能,进一步增强了CSS的能力它们引入了变量、嵌套、混合、继承等功能,使得CSS代码更易于编写和维护CSS预处理器是一种增强和扩展CSS语言的工具

2023-09-09 11:01:11 89

原创 【JavaScript 18】属性描述对象 获取 自身全部属性名 定义or修改属性 判断可遍历性 元属性 存取器

【JavaScript 18】属性描述对象 获取 自身全部属性名 定义or修改属性 判断可遍历性 元属性 存取器

2023-09-09 09:16:55 275

原创 【JavaScript 17】标准库 Object对象 Object本身方法 Object实例方法 Object构造函数 静态方法 原型对象方法继承 数据类型判断

【JavaScript 17】标准库 Object对象 Object本身方法 Object实例方法 Object构造函数 静态方法 原型对象方法继承 数据类型判断

2023-09-06 11:36:06 171

原创 【操作系统】系统程序 目标功能 资源管理 并发 共享 虚拟 异步 分时 实时 运行机制 用户态 内核态 时钟管理 中断机制 原语 系统数据结构 系统调用 设计结构

【操作系统】系统程序 目标功能 资源管理 并发 共享 虚拟 异步 分时 实时 运行机制 用户态 内核态 时钟管理 中断机制 原语 系统数据结构 系统调用 设计结构1基本概念2目标与功能3特征4发展5运行机制6设计结构

2023-09-06 11:17:09 158

原创 【JavaScript 16】对象继承 原型对象属性 原型链 构造函数属性 instanceof运算符 继承 多重继承 模块

构造函数缺点JS通过构造函数生成新的对象因此构造函数可以视为对象的模版(实例对象的属性和方法可以定义在构造函数内部)【JavaScript 16】对象继承 原型对象属性 原型链 构造函数属性 instanceof运算符 继承 多重继承 模块上面代码中Cat函数是一个构造函数,函数内部定义了name属性和color属性,所有实例对象都会生成这两个属性,即这两个属性会定义在实例对象上面同一个构造函数的多个实例之间无法共享属性从而造成对系统资源的浪费

2023-09-04 14:16:02 166

原创 【JavaScript 15】this关键字 属性or方法所在对象 对象属性方法可赋值 运行环境即对象 动态切换指向 内存字典 this三场合 三注意 this固定 call apply bind方法

【JavaScript 15】this关键字 属性or方法所在对象 对象属性方法可赋值 运行环境即对象 动态切换指向 内存字典 this三场合 三注意 this固定 call apply bind方法this关键字不仅仅可以使用在构造函数中表示实例对象还可以用在其他场合

2023-09-03 15:01:28 82

原创 【JavaScript 14】对象 构造函数 new命令 实例对象 直接调用 全局对象 全局变量 ‘use strict‘命令 new的原理 new.target属性 Object.create()

【JavaScript 14】对象 构造函数 new命令 实例对象 直接调用 全局对象 全局变量 'use strict'命令 new的原理 new.target属性 Object.create()constructor是专门用于生成实例对象的函数,可以生成多个具有相同结构的实例对象因为new命令总是返回一个对象,要么是实例对象,要么是return语句指定的对象

2023-08-25 14:25:49 110

原创 【JavaScript 13】JS错误处理机制 Error实例对象 Error构造函数 原生错误类型 Error派生对象 自定义错误 throw语句 try...catch结构 finally代码块

【JavaScript 13】JS错误处理机制 Error实例对象 Error构造函数 原生错误类型 Error派生对象 自定义错误 throw语句 try...catch结构 finally代码块除了 JavaScript 原生提供的七种错误对象,还可以定义自己的错误对象this.message = message || '默认信息';new UserError('这是自定义的错误!');上面代码自定义一个错误对象UserError让其继承Error对象然后就可以生成这种自定义类型的错误了。

2023-08-24 19:26:26 896

原创 【ES6 02】let命令 代码块有效 不存在变量提升 暂时性死区TDZ 不允许重复声明 块级作用域 变量覆盖 变量泄漏 函数声明 const命令 本质 顶层对象的属性 全局变量 glabalThis

【ES6 02】let命令 代码块有效 不存在变量提升 暂时性死区TDZ 不允许重复声明 块级作用域 变量覆盖 变量泄漏 函数声明 const命令 本质 顶层对象的属性 全局变量 glabalThis对于复合类型的数据(主要是对象和数组),变量指向的内存地址所保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于其指向的数据结构是不是可变的,就完全不能控制了const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用

2023-08-18 14:56:14 149

原创 【D3.js 01】

最近需要使用到D3.js,所以在B站上找到清华的D3.js教程,同时在这里做相关的自学笔记原视频链接如下:D3.js是目前最主流的,社区规模最大的,支持定制图元级别可视化效果的框架其他如Echarts不支持图元级别定制,但是支持图表混搭之后课程会介绍动画与交互,可视化图表绘制,其他常用接口D3: Data-Driven Documents通过D3提供的接口基于数据操控文档(画布)的各个图元接口约等于D3.js提供的函数调用主要参考资料:D3.js基于JS,用于在Web前端控制HTML中的元素HyperT

2023-08-15 21:03:17 183

原创 【JS RedBook 1】随处部署 最佳实践 宿主关系 API Object Oriented DOM 文档树 BOM 浏览器扩展

JS和我们很像,Eich只用10天就写出了JS的第一版,整体看来都是不完美但是如今的JS的每个细节都随着时间而逐渐变成反复推敲的产物JS是目前唯一一个可以随处部署的语言:服务器,浏览器,原生移动应用程序处处可以看到其身影JS工具和最佳实践的发展变化很快最初的前端应用程序不存在,有的只是琐碎的函数,以及将JS嵌入HTML中直接运行后来的Ajax由于jQuery的流行而更加流行,因此可靠稳定的应用程序诞生。

2023-08-15 20:48:43 205

原创 【JavaScript 12】二进制位运算符 或 与 非 异或 左移 右移 头部补零右移

7个用于直接对二进制位进行运算二进制或or若两个二进制位都为0则为0,否则为1二进制与and若两个二进制位都为1则为1,否则为0二进制非not对一个二进制位取反异或xor若两个二进制位不同则为1,否则为0左移left shift头部补零右移>>>这些位运算符直接处理每一个比特位(bit),所以是非常底层的运算,好处是速度极快缺点是很不直观,许多场合不能使用它们,否则会使代码难以理解和查错注意,位运算符只对整数起作用,如果一个运算子不是整数,会自动转为整数后再执行。

2023-08-15 19:52:55 193

原创 【React速成 01】JS库 前端框架 声明式UI 组件化 跨平台 create-react-app脚手架 目录调整 JS表达式 列表渲染 数组map方法 条件渲染 动态类名控制 幽灵节点 驼峰命名

React是专注于构建用户界面的JavaScript库和Vue以及Angular并称前端三大框架特点声明式UI(JSX)抛弃命令式的繁琐实现,写UI就像写普通HTML组件化通过搭积木的方式拼成完整页面通过组件的抽象可以增加复用能力并提高可维护性跨平台React既可以开发Web应用也可以使用同样的语法开发原生应用(react-native)如安卓和IOS应用,甚至可以用于开发VR应用,更像是一个元框架。

2023-08-15 16:15:14 150

原创 【ES6 01】Node.js Babel转码器 配置文件.babelrc 命令行转码工具@babel/cli REPL环境 babel-node register模块 polyfill 浏览器环境

【ES6 01】Node.js Babel转码器 配置文件.babelrc 命令行转码工具@babel/cli REPL环境 babel-node register模块 polyfill 浏览器环境ECMAScript 6.0的目标是使JS可以用来编写大型应用程序,成为企业级开发语言Node.js是JS的服务器运行环境(runtime),对ES6的支持度更高除了默认打开的功能,还有一些语法功能可以实现但没有打开使用下面的命令,可以查看 Node.js 默认没有打开的 ES6 实验性语法

2023-08-15 15:27:35 613

原创 【计算机网络 06】应用层 C/S方式 P2P方式 动态主机配置协议DHCP 域名系统DNS 文件传送协议FTP 电子邮件 SMTP POP IMAP 万维网WWW HTTP Web缓存

【计算机网络 06】应用层 C/S方式 P2P方式 动态主机配置协议DHCP 域名系统DNS 文件传送协议FTP 电子邮件 SMTP POP IMAP 万维网WWW HTTP Web缓存

2023-08-14 20:43:26 98

原创 【JavaScript 11】布尔运算符 取反运算符! 且运算符&& 或运算符|| 三元条件运算符?:

【JavaScript 11】布尔运算符 取反运算符! 且运算符&& 或运算符|| 三元条件运算符?:

2023-08-14 11:00:07 1709

原创 【计算机网络 05】运输层 端口号 UDP TCP 流量控制 拥塞控制 超时重传时间RTO选择 可靠传输 运输连接管理 TCP建立连接 TCP连接释放 TCP报文段的首部格式

【计算机网络 05】运输层 端口号 UDP TCP 流量控制 拥塞控制 超时重传时间RTO选择 可靠传输 运输连接管理 TCP建立连接 TCP连接释放 TCP报文段的首部格式

2023-08-14 10:47:05 83

原创 【计算机网络 04】网络层 IPv4地址 IP数据报 静态路由配置 路由选择协议 RIP OSPF BGP IPv4数据报首部格式 网际控制报文协议ICMP 虚拟专用网VPN 网络地址转换NAT

【计算机网络 04】网络层 IPv4地址 IP数据报 静态路由配置 路由选择协议 RIP OSPF BGP IPv4数据报首部格式 网际控制报文协议ICMP 虚拟专用网VPN 网络地址转换NAT

2023-08-10 15:12:04 135

原创 【JavaScript 10】比较运算符 非相等运算符 字符串 非字符串 原始类型值 对象 严格相等运算符 严格不相等运算符 相等运算符 不相等运算符

【JavaScript 10】比较运算符 非相等运算符 字符串 非字符串 原始类型值 对象 严格相等运算符 严格不相等运算符 相等运算符 不相等运算符两个复合类型的数据比较时,不是比较它们的值是否相等,而是比较它们是否指向同一个地址。对象与原始类型的值比较时,对象转换成原始类型的值再进行比较注意对于两个对象的比较,严格相等运算符比较的是地址,而大于或小于运算符比较的是值

2023-08-07 09:51:45 161

原创 【JavaScript 09】算术运算符 加法运算符 连接运算符 对象相加 valueOf方法 toString方法 余数运算符 Math.abs() 自增自减运算符 副作用 数值运算符 指数 赋值

【JavaScript 09】算术运算符 加法运算符 连接运算符 对象相加 valueOf方法 toString方法 余数运算符 Math.abs() 自增自减运算符 副作用 数值运算符 指数 赋值

2023-08-05 06:10:51 146

原创 【JavaScript 08】数组 定义 多维数组 特殊对象 读取 length属性 in运算符 for...in循环 数组遍历 forEach方法 空位 类似数组的对象 slice方法 call()

【JavaScript 08】数组 定义 多维数组 特殊对象 读取 length属性 in运算符 for...in循环 数组遍历 forEach方法 空位 类似数组的对象 slice方法 call()数组array是按照次序排列的用方括号表示的一组值每个值所在位置都有从0开始的编号数组可以在定义时赋值,也可以定义后赋值数组可以存储任意类型的数据} ];上面数组arr的3个成员依次是对象、数组、函数若数组的元素还是数组则形成了多维数组。

2023-08-02 16:53:51 113

原创 【计算机网络 03】数据链路层 封装成帧 差错检测 可靠传输 点对点协议 媒体接入控制 MAC地址 IP地址 ARP协议 集线器 交换机 自学习 STP VLAN

计算机网络 数据链路层 封装成帧 差错检测 可靠传输 点对点协议 媒体接入控制 MAC地址 IP地址 ARP协议 集线器 交换机 自学习 STP VLAN缺省也即默认

2023-07-28 13:06:34 256 1

原创 【JavaScript 07】函数声明 地位平等 函数提升 属性方法 作用域 参数 arguments对象 闭包 IIFE立即调用函数表达式 eval命令

函数声明 地位平等 函数提升 属性方法 作用域 参数 arguments对象 闭包 IIFE立即调用函数表达式 eval命令函数是可反复调用的代码块并且可以接受输入参数,不同参数有唯一对应的返回值

2023-07-27 16:12:58 203

原创 【JavaScript 06】对象生成 键名 属性 方法 链式引用 尾部逗号 动态创建属性 对象引用 内存地址 表达式 语句 圆括号里唯表达式 eval语句 属性读取 赋值 删除 存在 遍历 with

【JavaScript 06】对象生成 键名 属性 方法 链式引用 尾部逗号 动态创建属性 对象引用 内存地址 表达式 语句 圆括号里唯表达式 eval语句 属性读取 赋值 删除 存在 遍历 with

2023-07-25 15:32:27 282

原创 【计算机网络 02】物理层基本概念 传输媒体 传输方式 编码与调制 信道极限容量 章节小结

【计算机网络 02】物理层基本概念 传输媒体 传输方式 编码与调制 信道极限容量 章节小结数字信号转换为模拟信号,从而在模拟信道中传输,例如WiFi,采用补码键控CCK/直接序列扩频DSSS/正交频分复用OFDM等。基带信号往往包含有较多的低频成分甚至直流成分,而许多信道并不能传输这种低频分量或直流分量。模拟信号转换为另一种模拟信号,在模拟信道中传输,例如,语音数据加载到模拟的载波信号中传输。如果非要将它添加到体系结构中,那只能将其放置到物理层之下传输媒体不属于计算机网络体系结构的任何一层

2023-07-23 17:07:36 1086

原创 【JavaScript 05】数据类型 字符串 单引号 转义 字符串与数组的相似性 length属性 Unicode字符集 Base64转码 btoa()编码 atob()解码

【JavaScript 05】数据类型 字符串 单引号 转义 字符串与数组的相似性 length属性 Unicode字符集 Base64转码 btoa()编码 atob()解码JavaScript 不仅以 Unicode 储存字符,还允许直接在程序中使用 Unicode 码点表示字符,即将字符写成\uxxxx的形式,其中xxxx代表该字符的 Unicode 码点

2023-07-23 14:51:50 619

原创 【计算机网络 01】说在前面 信息服务 因特网 ISP RFC技术文档 边缘与核心 交换方式 定义与分类 网络性能指标 计算机网络体系结构 章节小结

说在前面1.1 计算机网络 信息时代作用1.2 因特网概述1.3 三种交换方式1.4 计算机网络 定义与分类1.5 计算机网络的性能指标1.6 计算机网络体系结构1 常见的计算机网络体系结构2 计算机网络体系结构分层的必要性3 计算机网络体系结构分层思想举例4 计算机网络体系结构中的专用术语1.7 章节小结网络(Network)是由若干结点(Node)和连接结点的链路(Link)组成多个网络可以通过路由器进行互连,从而构成覆盖范围更大的网络也即互联网因特网(Internet)是世界上最大的互联网

2023-07-23 10:47:51 901

原创 【JavaScript 04】数据类型 typeof运算符 null与undefined 布尔值 数值 整数 浮点数 数值精度 数值范围 数值表示 进制 特殊数值 数值相关的全局方法

数据类型 typeof运算符 null与undefined 布尔值 数值 整数 浮点数 数值精度 数值范围 数值表示 进制 特殊数值 数值相关的全局方法

2023-07-22 08:59:36 207

基于Springboot以及React的前后端分离项目系统结构xmind

基于Springboot以及React的前后端分离项目系统结构xmind

2023-05-20

模拟电路 两级阻容耦合负反馈放大器仿真

模拟电路 两级阻容耦合负反馈放大器仿真

2022-11-04

数字媒体 大学生小剧场

大一时的自编自导的小剧场 .avi格式转换为.mp4格式占用空间减少许多

2022-11-04

模拟电路-差分放大电路.ms14

模拟电路-差分放大电路.ms14

2022-10-27

模拟电路 差分放大电路

模拟电路 差分放大电路.ms14

2022-10-27

模拟电路 单管共发射极放大电路

电子信息工程 本科生

2022-10-19

空空如也

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

TA关注的人

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