JavaScript的基础
javascript的数据类型: 使用typeof来判断数据类型console.log(typeof '字符串')//输出 string console.log(typeof 123)//输出 number console.log(typeof true)//输出 boolean console.log(typeof null)//输出 object null输出object是历史遗留问题 let a console.log(typeof a)//输出 undefined const s = Symbol(1) console.log(typeof s)//输出 symbol const bigInt = 132n console.log(typeof bigInt)//输出 bigint const fn = function(){ console.log('函数') } console.log(typeof fn)//输出 function const arr = [] console.log(typeof arr)//输出 object...
ECMAScript6与之后的语法
注意:具体内容可以去参考ECMA官方文档,这里只是对某些语法进行总结与参考 ES6语法变量声明let不能重复声明var可以重复声明 let用来声明变量const用来声明常量const声明后不可以重新赋值,let可以重新赋值。const一定要赋初始值。 cs6后新增了块级作用域,使用let和const声明只在代码块中生效 let和const不存在变量提升,用var声明变量会参与预加载 而且不影响作用域链 { let example = '例子' function fn(){ console.log(example) } fn() //最终输出'例子' } 解构赋值ES6允许按照一定模式从数组和对象中提取值,对变量进行赋值,这称为解构赋值 //数组解构 const example = ['例子1','例子2','例子3'] let ['example1','example2','example3'] = example //对象解构 const exampleObj = { ...
计算机网络_应用层
6.1客户/服务器方式(C/S方式)和对等方式(P2P方式) 开发一种新的网络应用首先要考虑的问题就是网络应用程序再各种端系统上的组织方式和它们之间的关系 客户/服务器方式 客户和服务器是指通信中所设计的两个应用进程 客户/服务器方式所描述的是进程之间服务和被服务的关系 客户是服务请求方,服务器是服务提供方 服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号(例如HTTP服务器的默认端口号80),而运行服务器的主机也具有固定的IP地址 基于C/S方式的应用服务通常是服务集中型的,常会出现服务器计算跟不上众多客户机请求的情况 对等方式 没有固定的服务请求者和服务提供者,分布再网络边缘各端系统中的应用进程是对等的,被称为对等方。对等相互之间直接通信 目前,再因特网上流行的P2P应用主要包括P2P文件共享、即时通讯、P2P流媒体、分布式存储等 P2P的应用是服务分散型 P2P方式最突出的特性之一就是它的可扩展性,系统性能不会因规模的增大而降低 P2P方式具有成...
计算机组成原理_总线
总线的基本概念一、为什么要用总线分散连接存在的问题: 1.内部的连线复杂 2.新增IO设备困难 二、什么是总线 总线是连接各个部件的信息传输线,是各个部件共享的传输介质 三、总线上信息的传送 串行:所谓的串行就是将要传输的信息一位一位的放在总线上,接收方一位一位的进行接收,支持距离长 并行:需要多条数据线进行传输,数据能同步进行传输,如果传输距离长,线与线之间并行传输,传输信号可能会发生变形,接收方很难接收到正确信号 四、总线结构 1.单总线结构 所有数据在同一条总线上传输,会发生总线争用问题 2.面向CPU双总线结构 向CPU延生出两条总线,IO总线和M总线,M总线连接主存。 存在问题:一旦IO总线和M总线同时向CPU发送数据,CPU的计算任务还是会被打断。 3.以存储器为中心的双总线结构 从贮存延生两条总线,一条连接系统总线(包括IO设备接口和CPU),一条存储总线连接CPU。 3.2总线的分类1.片内总线(芯片内部的总线)2.系统总线(计算机各部件之间的信息)1.数据总线 双向与机器字长、存储字长有关。通常情况下...
计算机网络_运输层
5.1运输层概述 如何为运行在不同主机上的应用进程提供直接的通信服务使运输层的任务 它使应用进程看见的就好像是在两个运输层实体之间有一条端到端的逻辑通信信道 因特网的运输层位应用层提供了两种不同的运输协议,即面向连接的TCP和无连接的UDP 5.2运输层端口号、复用与分用的概念 运行在计算机上的进程使用进程标识符PID来标志 因特网上不同操作系统又使用不同格式的进程标识符 TCP/IP体系的运输层使用端口号来区分应用层的不同应用进程端口号使用16比特表示,取值范围0~65535 熟知端口号:01023,IANA把这些端口号派给了TCP/IP体系中最重要的一些应用协议 登记端口号:102449151,为没有熟知端口号的应用程序使用 短暂端口号:49152~65535,留给客户进程选择暂时使用 端口号只具有本地意义,不同计算机中的相同端口号使没有联系的 5.3UDP和TCP的对比用户数据报协议UDP 无连接的UDP UDP支持单播、多播以及广播 UDP使面向应用报文 提供不可靠传输,不使用流量控制和拥塞控制 首部开...
VueRouter
路由的基本概念2022年2月7日以后,vue-router的默认版本,为Vue3专属的4版本 Vue的一个插件库,专门来实现SPA应用 路由就是一组key-value的对应关系key为路径,value肯使function或component route规则: /example => 例子组件 基本路由先创建两个组件 <!--组件1--> <template> <h2> 我是About内容 </h2> </template> <script> export default { name:'About' } </script> <!--组件2--> <template> <h2> 我是Home内容 </h2> </template> <script> ...
计算机组成原理-计算机概论
计算机的基本构成计算机的功能部件 输入设备:将信息转换成机器能识别的形式。 存储器:存放数据和程序。 运算器:进行算数运算和逻辑运算。 输出设备:将结果转换成人们熟悉的形式。 控制器:来指挥程序运行。 冯诺伊曼基本思想冯诺依曼机的特点: 采用“存储程序的”工作方式。 计算机硬件系统由运算器、存储器、控制器、输入和输出设备组成。 指令和数据以同等地位存储在存储器中,计算机能区别出它们。 指令和数据均用二进制代码表示。 冯诺伊曼机的基本工作方式是以控制流驱动方式,以运算器为中心,且是单处理器。 “存储程序”的思想是:将事先编制好的程序和原始数据送入主存后才能执行,一旦程序被启动执行,就无需操作人员的干预。 图1-1就是标准的冯诺依曼机,实线表示数据线,虚线表示控制线和反馈线。 冯诺依曼计算机是以运算器为中心,任何计算都得经过运算器,会导致效率过低,从而有了现代计算机的结构,如图1-2。 现代计算机以存储器为中心,当运算完成可以直接从存储器中取址来完成所想要的操作,而现在所谓的CPU就是运算器和控制器的集成部件。 计算机各个部件的工作原理主存储器的基本组成 主存储器以存储单元...
计算机网络_网络层
4.1网络层概述网络层的主要任务是实现网络互连,进而实现数据包再各网络之间的传输实现网络层任务,需要解决的问题 网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”) 网络层寻址问题 路由选择问题 因特网是目前全世界用户最多的互联网,它使用TCP/IP协议栈 由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层 4.2网络层提供的两种服务面向连接的虚电路服务 可靠通信由网络来保证 必须建立网络层的连接—虚电路VC(Virtual Circuit) 通信双方沿着已建立的虚电路发送分组 分组的首部只需携带一条虚电路的编号 通信结束后,需要释放之前所建立的虚电路 无连接的数据报服务 可靠通信由用户主机来保证 不需要建立网络层连接 每个分组可走不同路径 每个分组首部必须携带目的主机的完整地址 分组可能误码、丢失、重复和失序 由于网络本身不提供端到端的可靠传输服务,造价成本相对低廉 因特网采用了这种设计思想,也就是将复杂的...
踩坑合集
Blog优化相关在第一次使用代码块时候发现样式重叠且代码块奇丑无比,马上去网上参考了LuckySec的代码优化的文章,在根据他的步骤一步一步下来,发现代码块样式并没有改变,又去修改hexo根目录的_config.yml,将自带的highlight改为false,prismjs改为true,并取消了行标显示,发现样式仍然没有太大改变,经过一段时间的琢磨,才发现需要用hexo clean && hexo g才能使样式生效。简直了,每次修改样式必须得重新清理和编译才行,直接在本地运行会有不生效的可能 使用csdn的图片部署后无法显示问题需要添加这一句在文章最上方后即可解决不受后无法显示问题。 <meta name="referrer" content="no-referrer"/> 项目实战相关在做项目不应该先考虑后续的优化问题,应该先让功能实现再考虑后续的优化问题,不然几个小时都没什么成果。 Flutter学习相关Dio请求发送在使用Dio请求发送时候,想在本地写个接口来直接开本地端口调用,却发现使用不了会报异常。 目前发送使用的是我用node.js写...
计算机网络_数据链路层
3.1数据链路层概述链路 就是从一个结点道相邻结点的一段物理线路,而中间没有任何其他的交换结点 数据链路 是指把实现通信协议的硬件和软件加道链路上,就构成了数据链路 数据链路层以帧为单位传输和处理数据数据链路层的三个重要问题 封装成帧 差错检测 可靠传输 3.2封装成帧封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧 帧头和帧尾中包含有重要的控制信息 帧头和帧尾的作用之一就是帧定界 透明传输 指数据链路层对上层交付的传输数据中没有任何限制,就好像数据链层不存在一样 面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输 面向比特的物理链路使用比特填充的方法实现透明传输 为了提高帧的传输效率,应当使帧的数据部分的长度尽可能大些考虑道差错检测的多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传输单元MTU 3.3差错检测实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1.这称为比特差错在一段时间内,传输错误的比特占所传输比特总数的比率成为误码率BER...
Vuex
Vuex工作原理 Vuex三个重要工作区域Actions 在Vue Components调用dispatch()要至少传两个传输,第一个参数为object对象,为在Actions中想要调用的函数名称,第二个参数为想要传递的数据。逻辑运算由Actions来进行,可以减少代码的冗余和增加复用性。在Actions可以调用后端接口或发ajax请求等操作,可以处理业务逻辑。在Actions获得的第一个参数为context可以在context调用commit等方法。尽量不要在Actions修改state中数据,Devtools捕捉不到行为 Mutations(方法名一般为大写,方便与Actions区分) 在Vue Components或Actinos中调用commit()要至少传两个传输,第一个参数为object对象,为在Mutations中想要调用的函数名称,第二个参数为想要传递的数据。此时Mutations所要调用的第一个值为整个state,第二个则为传递过来的数据,在Mutations中调用state里的参数会自动进行调用Mutate函数将State数据进行变换。函数内部需要ret...
计算机网络_物理层
2.1物理层的基本概念传输媒体导引型传输媒体 双绞线 同轴电缆 光纤 非导引型传输媒体 微波通信 2~40GHz 物理层协议的主要任务 机械特性 电器特性 功能特性 过程特性 物理层概述 物理层考虑是怎样才能在连接各种计算机的传输媒体上传输数据比特流 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务 2.2物理层下的传输媒体导引型传输媒体同轴电缆基带同轴电缆(50Ω) 数字传输,过去用于局域网 宽带同轴电缆(75Ω) 模拟传输,目前主要用于有线电视 双绞线无屏蔽双绞线UTP屏蔽双绞线STP绞合的作用 抵御部分来自外界的电磁波干扰 减少相邻导线的电磁干扰 光纤优点 通信容量大(25000~30000GHz的带宽) 传输损耗小,远距离传输时更加经济 抗雷电和电磁干扰性能好 无串音干扰,保密性好,不易被窃听 体积小,重量轻 电力线 非导引型传输媒体 无线电波 微波 红外线 可见光 2.3传输方式串...
