现在的编程,说是高级语言,其实还是人在理解机器。
为什么Class复制之后只是指针复制了?别的变量复制之后整体都被复制了?
这些都是为了机器的方便,为了少点开销,对人只会造成混淆。
机器不具有容错能力,机器一遇到bug只会撒手,说白了还是我们的机器不行。
数据(在库里)和指令(操维系统,驱动程序,应用程序)。编译型语言:jave,文档全部执行(编)完再解读(译,高级智能)。
编程(解释)语言:角本语言,执行一行(一块)解读(译)一行(块),<js预解析,变量提升,类似编译的编>。
标记语言:无执行只有解读(html,css)。
角本(逐行编译解读,整体上不够智能)是js的基础,使js由面向过程(地址)转向面向对象(内容),由浏览器中V8将人类信言转为机器信言。
argument(参数),event(事件对象),item(数组元素)都是伪数组。
变量是值在变动的的数据包,分基本数据做值整个变动和引用类数椐容器内的部分变动,匿名函数的变量名随实参分别传入变量值也在变动。变量就是对象,万物皆变量所以万物皆对象。
=赋值,函数传参赋值,是为了针对预解析。
i++与++i都是独立的表达式,都有返回值(相同)新ⅰ。在运算式中++ⅰ是新值参与,再产生一个新ⅰ。在运算式中ⅰ++是旧值参与,再产生一个新ⅰ。
switch.case中case会通过类似变量提升预解析快速判断执行范围并执行,不在case判定范围的会跳过,所以会减少运算并提高远算速度。if和if else则是逐个脚本执行,会降低执行速度,浪费cpu运算,但是稳定。
循环:重复执行某些代码。
函数:重复执用某些代码。i+(自增号)=1实为ⅰ++,但n+=5时就是n=n+5。
基本类数据:数值和字符串是所有数据类型的根源。(派生出under,null,nan<对象>)。
引用类数据:都是基本类数据(代码块)的容器,数组,对象,函数,类,循环,判断。
for的()内必须成立才执行循环体,主要处理跟数字有关的循环。while的()内不成立就一直执行循环体,主要处理非数字类的复杂循环。
source打断点,判断执行步骤,console判断代码运行,
数组是一个变量名多个赋值的集合。是对象的刍形。
遍历:就是把数组的元素从关到访问一遍。
for in循环有序内容,如数组(序号𠕇序)。隐去面向过程。
for of循环无序内容,如对象(键名无序)。实现面向对象<内容>。
函数只是个可重复调用的封装包,可以有参数(实参代替行参是变量再次赋值)也可以参数(立即执行函数)。参数可以是数组或对象。return可以返回一个数值也可以返回一个数组,对象。
函数没有return,调用时返回undefind,return是函数穿透{}与外部连接的接口,{}在return处终止。
for循环就是为数组和对象准备的。布尔值就是为if判断准备的。循环和判断是逻辑语言的元代码。
表达式:以变量形式声明的数据。
预解柝:以变量声明形式表达式(基本类数据表达式和引用类数据表达式)中变量名提升。
类是泛指。对象是个体。js中对象:是一些无序的方法和属性的集合。属性是特征用名词代表。方法是行为用动词代表。
变量和函数在{}外,可以独立调用。属性和方法在{}内,用:赋值,必须前加变量名调用。构造函数中属性与方法通过this(代表对象)指定,=赋值方法添加,类似创建匿名函数。构造函数中封装的是对象(能继承),普通烈数中封装的是普通代码(不能继承)。
for in输出键名或组序号,for of输出键值或数组元素。属性和方法都可遍历输出。
静态:js内置对象(而非构造器的)自带的方法和属性(class作为对象时的方法和属性),不需要new即可使用的。如js中对象Match,Date,String,Array中的方法和属性。
proto构函作为对象的方法或属性,静态的。prototype构函作为函数时的方法和属性,需要new。
引用类数据才有属性。
基本包装类型:通过new构造函数生成的所有数据(包括基本数据)都有属性和方法。如字符串,数值,布尔值。
基本类数据创建即建立空间,重新赋值(指针重新指向)即新建立空间(也有称之为克隆),所有空间不会自动删除。
函数名()立即调用。点击事件中不要求立即调用,所以只有函数名无()。
实例成员:必须是this(具体对象)后连接的只限属性,new以后通过对象名调用(构造函数作为对象时的属性,供new后对象共亨)。静态成员:名前无this的方法或属性,不需要new,通过函数名直接调用(构造函数作为函数时的方法和属性)。
构造函数中的方法函数每次new出对象后方法函数都分别创建一个独立空间。
prototype(原型对象)属于实例成员:对象共亨构造函数中的函数new后创建函数空间,prototype决定了对象可共亨的方法(具体)。
proto(对象原型)属于静态成员:new出的对象的proto指向构函的prototype,proto决定了对象可共亨(指向)。
函数类似基本类数据,每次调用都要独创新空间。非引用类数据调用时改变this指向。prototype给函数每次调用限定了共亨空间,通过生成对象的proto指针(类似this)指向共享的prototype创建共亨空间。
原型链:对象prototype的proto的指向下一个对象prototype。
构造函数属性的继承:在一个构造函数中调用另一构造函数(并改变此构造函数指针)。
构造函数方法的继承:子构造函数的prototype=父构造函数new出的对象,同时补上子构造函数的constructor。prototype有函数和对象双重属性。
对象(new后对象,prototype)原型(proto,函数属性),原型(proto)对象(prototype的对象属性prototype)。
let自带严格模式(块级作用域),此时的变量不再是简单表达式而是一个独占空间的对象。严格模式下匿名函数无变量名,不能转成对象,所以被认为违规。严格模式下所有变量都被定义为对象,独占空间。
继电器,真空管,晶体管控制电统通(1)断(0)。
cpu就是三极管,通过电流通断形成1或0,形成逻辑门:与(2个)或(单个)非(其它)是组合方法,最终得到布尔值ture和false是结果。之所以选ture和false是因为它在数学中实现了极大的逻辑多样性。
对象就是实物。面向对象是虚物,如构函和类。面向对象的语言:将类或构函的方法取出形成对象,又将对象排列组合形成过程。
内存:一种寄存器(线性排列的内存块能存一个值)。RAM寄存器:它能在不同地址存大量数字。程序:由一系列单个操作(指令)组成的。指令地址寄存器:存当前指令的寄存器。假设内存只有16个地址,每个地址都能保存8bit,再给处理器增加4个8bit的寄存器:A,B,C,D。cpu操作:取指令(将指令地址寄存器链接到RAM。地址0存的值是“00101110”)这个阶段叫解码。指令会有控制单元(由逻辑门组成)进行解码并执行(不同指令由不同逻辑电路解码)逻辑电路会配置CPU组件来执行它的操作。(完成:取指令~解码~执行~存储的周期<时钟速度(0.03赫兹)控制周期,超频:认为修改时钟速度。动态时钟频率调整:计算机根据需要处理的数据量自动调整时钟速度,量大就调快,量小就调慢,减少高速对电流的消耗量>,此状态可自动切换)。
Cpu只处理内存中的数据,不直接处理硬盘数据
封装(引擎):建立函数。
可扩展标记语言(XML)与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。
,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。
异步js内容准备传输和xml(xhr)数据传输。Api(函数)。var xhr=new XMLHttpRequest()。AJAX是个函数,是对构函XMLHttpRequest()的new后的对象方法调用封装。json只是个传输数据格式。
V8用在前端(Ajαx发web的http),node.js(接web的http,应用)服务器是对V8引擎方法的调用
http模块创建web服务器,fs读取磁盘数据并写出新数据,poth创建路径
框架就是包(插件)。络由:映射关系(客户端的请求与服务器端的匹配关系)。镜像:复制关系。
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览,可以放置数据文件,让全世界下载;目前最主流的三个Web服务器是Apache Nginx IIS。
cors(跨域)大域突破小域限制
App是接口。get,set是路由。listen是监听(端囗)。
静态:直接赋值(对象,ptoto),直接调用。动态:变量赋值(构函,prototype),new后调用。
(客户端,浏览器)Ajax(settime来控制节奏节奏中具体时间,当然settime也可直接控制节奏)中post发送地址数据给后台,通过(后台)query在后台查找,query中有promise控制节骤并返回查找结果。Ajax中get获得后台结果数据,send传给html。
前台ajax与后台promise相互依赖。
FeachApi建立在pramise上取代了Ajax
json形式即对象或数组包裹字符串。传统表单形式传参以实例对象形式传参
async(要求多个请求在内部排队,)与多个await<排队的具体操作者。后跟promise实例出对象)共同取代promise(起点声明同步语句),后可接then
路由:对应关系,后端路由:根据需求( Url请求地址)分发资源。前端路由:事件与与事件处理函数间的关系。路由嵌套:对象间建立关系。
动态:函数根椐传入的不同参数生成不同的对象。:表示其后的数据动态的。变量是最基本的动态。
App是接口。get,set是路由。listen是监听(端囗)。
静态:直接赋值(对象,ptoto),直接调用。动态:变量赋值(构函,prototype),new后调用。
(客户端,浏览器)Ajax(settime来控制节奏节奏中具体时间,当然settime也可直接控制节奏)中post发送地址数据给后台,通过(后台)query在后台查找,query中有promise控制节骤并返回查找结果。Ajax中get获得后台结果数据,send传给html。
前台ajax与后台promise相互依赖。
FeachApi建立在pramise上取代了Ajax。
json形式即对象或数组包裹字符串。传统表单形式传参以实例对象形式传参
async(要求多个请求在内部排队,)与多个await<排队的具体操作者。后跟promise实例出对象)共同取代promise(起点声明同步语句),后可接then。
路由:对应关系,后端路由:根据需求( Url请求地址)分发资源。前端路由:事件与与事件处理函数间的关系。路由嵌套:对象间建立关系。
动态:函数根椐传入的不同参数生成不同的对象。:表示其后的数据动态的。变量是最基本的动态。
?表不要传参。
包通过终端node的npm安装(cnpm或yarn),框架通过src引入,这些文件提前放入目录中。打包:终端将数据压缩,优化,兼容成一个新文件。终端分大小打包,打包好的单个文件出现在目录中,单个文件可以上传到终端股务器。
库(框架,应用):家庭app。组件:家庭成员。包:单个数据文件(针对单页面开发<发各类数据让浏览器去渲染而不是后台处理各类数据渲染成一个表交给浏览器去解读>。外表(templαte):js中写的html的标签的内容。指令:html标签中特殊的属性定义与赋值。html标签中用:声明vue的属性,用=号声明html属性。[]表示动态,源于数组是变量的不同值集合。
vue本质就是包合属性和方法的js对象,html标签通过行内属性调用这些属性和方法,以控制标签在浏览器中的渲染效果。
在node.is中用npm指令将vue应用安装在Vscode的目录中,Vscode就可以使用Vue了。vue通过打包(单独的文件)工具将后台工作转成前端工作(路径的生成就简单多了)。
src源代码
开发环境是node<V8引擎>(只是在打包时使用,很少用于渲染),开发工具是vscod(即可运行在前端v8上<单页开发>,也可运行在后端V8上<传统开发或后台打包>)。VUe是在vscode的js类型文档中调用的对象,所以VUe文档可用浏览器v8引擎实现渲染。自此后台被边缘化,前端承担大部分后台工作。
node的V8与浏览器V8作用一样,单页开发偏重选用浏览器V8。服务器引擎是widows或linis。
script,template,style 在html中嵌入时都是顶级组件,在引入时被称为应用,在道过Cdn从网站调用时被称为框架。组件在html中为与标签有关的数据形成的包<单个文件或文件夹>,生成浏览器中的各个对象。
热缩:橡皮筋的加热收缩证明能量能使物质膨胀或收缩,以返回到组成它的小粒子的原始状态(弯曲的大分子和无数小原子,弯曲的大分子被拉直,小原子会不停撞击它,加热使小原子获得能量加剧了撞击,撞击使拉直的大分子回到原始的弯曲状态)。这说明能量是在物质的基础上发挥作用并有多种不同表现。
vue结构更简洁,思络更请晰。以标签为核心,对象内含属性和方法供行内样式调用。if,for 都是行内样式,事件也是行内样式。以住js抓标签变或标签调js。
缺陷?:将Css效果和标签内容也必须通过js
字符串是最简洁的数据包,防止了多重嵌套,cpu客易读懂。{},[]只做了部分打包
单行文本框,多行文本框,列表框,单选框都是div的实例化。这延续了框js的起源,后被模板字面量取代。
前端路由(调用接囗彳式):ajax(控制多个页面传给浏览器V8的顺序)→fetch→asios的转到前后端形成单页面的spA<核心即标签跳转(hash)>→。后端路由:node的http模块→express(创建web对外提供网站资源服务器<响应>,接囗<Api>服务器)。vue的rouat将前后端路由合并。
传统打包构建工具,在服务器启动之前,需要从入口文件完整解析构建整个应用。因此,有大量的时间都花在了依赖生成,构建编译上。vite主要遵循的是使用ESM(Es modules模块)的规范来执行代码,由于现代浏览器基本上都支持了ESM规范,所以在开发阶段并不需要将代码打包编译成es5模块即可在浏览器上运行。我们只需要从入口文件出发, 在遇到对应的 import 语句时,将对应的模块加载到浏览器中就可以了。因此,这种不需要打包的特性,也是vite的速度能够如此快速的原因。
Vite 支持 Vue 和 React 的模块热重载,可以准确的更新页面而无需重新加载页面或者删除应用程序状态。vate打包工具
终端:Mac,windows,linex内置的用于人机交互的方式,如node-V。实际上对js来说终端就是node js。
preview预览,使浏览器显示vue的输出内容。
:表示表达式
vate在vscodt中能创建vue项目包(具名文件夹,生成vae模板)→安装依赖包(工作区Src:包含vue框架components(写入文档,配置,组件,APP.vue根组件<注册(default默认)地>等),,静态数据assets等各类包。vscode编译器,public全局包。隐藏全局依赖包(node- moudle版本库)。
vue文件只有vue后缀,不区分html,Css,js文件。
content声明满足的条件。
prop支撑条件
库:放包的空间。包pack:第三方模块。可多种途径调用包。模块:应用内置或自定义的功能数数据。组件(小项目):有相似功能的标签对象和实现其功能的属性和方法数据,vue要求一个组件就是一个模块。
子父组件各有根元素标签template(模板),中有单个根元素标鉴,自动放props上没有放的属性,多个根标签则不行。只能手动放。
vue的组件中js对属性和样术的数据类型进行设定。(props)子组件向(date)父组件传数据是通过子export父import实现的。当父有export子中自动导入,无需import声明导入。export和import导入导出js,不能直接导入导出标签和style。
组件本质上就是核心标签
js的表达式将字符串变成变量名(图片名),实现在vue中引入图片。
组件包(vue文件)含html,Css,is数据实现对某一对象的效果。
打包成单页面实际就是个vue组件模块,如同单个html文档中有单核心标签,js,Css,style可直接调用,以往由前后端路由依赖编译,构建生成全由人为解决不需后端路由,路由rocut也基本变成了前端路由。
V-model指定调用。
slot插槽调入的是html标签的值。插槽的作用域在其书写的脚本中和其放置的地方无关。
prop支柱:子组件中指定传给父组件的行内属性数据的名字。在子组件中对其值进行处理。
component组件:父组件中指定传递给子组件的所有若干个标签的名称,其携带属性会自动传递。在父组件中对其值进行处理。prop和componen内容充许那些变量传递,至于传递后具体值的调用渲染需要用行内样式自已调用。
option接囗选项api,composition接囗组合api,所有数据放在setup{}对象里。
响应ref()式数据:setup数据发生变化时,模板template会更新。
vue的src中main.js中导入所有的vue组件,vue框架,scss文档,js文档。
index.html中导入src中所有文档和平级scss,js文档。
app页面中的全局异步suspense标签<插槽>解决aysic在vue中的兼容问题。
父组件中:
import引入vue包中各组件或父组件中导入子组件(不需要子组件导出声明,
子组件中export导出的是供子组件temple使用。这也避免了子组件对父组件的同名污染。
export default(导出以下内容供本组件temple使用);
compared注册引入子组件,
data是js调用html中的temple中的元素保存(实现跨语言调用)。(调入后js中的creat必须创建下(类似库),
method(同上的方法)。
computed计算属性。
created函数创建子组件data中键值的数据,
mounte函数挂载dom元素组件,
hlml标签显示内容:模板temple(组件的模板字面量<组件中所有对象集>,所有标签,事件,ref读子组件,插糟。调用标签,通过ref<读取父组件>=“el”,调入子组件。调用date数据。reactive读取引用类数据。style=attrs.style调用属性,
setup(构造函数)中读<响应>子组件基本类数据ref=“子组件名“,读子组件引用类数据reactive.)。update更新函数更新组件。
return返回的数据仅供其所在组件使用。…toRefs()点语法,响应多个数据。
子组件中:卸载unmounted
子组件temple模板{{}}中传入的变量,在props中设置其属性和值。
子组件爆露return的属性,父组件temple中都可以ref=“”。各种slots插糟。
父组件中 provide,inject穿透,传递给子组件,子组件用变量名接收,并使用此方法对父组件内容进行修改。
prop值放入一个数组是为方便统一处理父组件对子组件的传递数据。
import导入的包,运用芸中的组件必须在当前组件中声明为一个常量。
路由:不发生网络请求,也不用超链接的跳转。
组件就是将模板名写在标签中,并为其增加样式。
systle的运动控制路由,实现动画。
temple代表html,路由rouct是现实存在的(本质上是个动作),所以路由可以做为temple中的一个标签。
权限即此功能是否有传参,传参则执行就有功能,不传参则不执行函数则无此功能。
在index.js中加载,package文档中scripts组件的build打包(编译)成json格式,放入assets本成静态页面index<db.json就是通过vue自带web服务器模仿的此页面)供通过serve运行。路由当中懒加载就是异步(动态)加载(按需求精准加载<通过点击事件控制>,减少路由流量),减少每次的加载数据量,增加加载次(化大加载为小加载)。同效果可用配置文件时vite.config中用build方法将多文档打包。
TypeScript(tsc)脚本(js的升级,增强了提示出错功能,对数据类型敏感),在终端将tsc文件编译且生成原生js文件。
ts是js的升级版,ts由终端(是个编译器)编力js。编译出的js脚本由node(V8引擎)是最终执行并显示结果。
构函中受保护的,受限制的方法或属性都可在构函{}中new构函(单例模式),实例成静态对象方法或属性供构函{}外部调用,不需要在构函{}外多次new后调用。公共的方法,通过构函名供外部调用。
animation属于抽象abstract类。
构函内的私有属性strick可以通过构函{}内声明的公共属性和方法public的get与set方法实现外部有条件使用构函私有属性和方法。
interface接囗约束(枚举的加强版)里只能有构函属性和方法(规范),不能有对象(实现)。接口约束规范,通过代码数据属性对生成对象提前进行限制。接口属于数据应满足条件(随身也可实现某些功能),通过:号授于变量。接囗适用于函数,对象,数组,构函等。
type中?表示选填:可填可不填。继承是子调用父属性或方法。装饰器是调用兄弟的方法或属性。
构造函数是静态的,原型是动态的。
字面量对象不能产生块级作用域。
伪数组:有length属性的对象。set是伪数组,mαp是伪对象。
数组取出单个元素,元素有个空间,元素被赋值后空间内值会被清空,可重新赋值。
首先任何处理器,处理信息的最小单位都是指令,一条RISC指令可以十分简化的划分为三部分(实际情况要复杂很多),分别是操作码,操作数,以及目的寄存器(地址);以一条加法指令来说,告诉计算机这是加法运算就是操作码,被加数和加数就是操作数,所得的结果最后放到目的寄存器里;为了后面介绍一些CPU的具体结构,这里将所有指令再简单粗暴的分为三大类分别是运算类的指令,load/store类指令,以及条件控制类指令。指令的在处理器内部的执行过程。
经典五级流水线是由:取值,译码,执行,访存,写回五级流水构成;(下图为MIPS的经典五级流水)。
3. 分支预测。
4. 乱序执行和超标量处理器。
5. Cache与一致性。
上一篇
高考政治必背資料,高考政治知識點匯總,高考政治必備知識點,高考政治知識點必備,都整理好瞭,拿去背吧|小窩全科資料目錄| ...