mez_Blog的专栏
文章平均质量分 53
各种教程和基本概念都会在这里展示
mez_Blog
寸边而
展开
-
Typescript学习笔记(1.0)
let c:{name:string,[abc:string]:any},其中abc可以随意起名,该类型声明表示c中只要包含name属性,其他的属性有或无都随意。他与any的区别是不能随意赋值,如果把一个unknown类型的值赋值给别的值,就会报错,而any不会报错,并且将自己的类型赋值给被赋值的那个变量。void:常用于设置函数返回值,如果没有指定函数的返回值类型,会自动被认为返回值的类型为void。any:表示任意类型,一个变量设置为此类型后,相当于关闭了TS类型检测。原创 2024-07-23 17:04:15 · 67 阅读 · 0 评论 -
vue学习笔记之组件传值
在Vue.js项目中,Vuex通常被用作状态管理库,尤其是在大型或复杂的应用中,它提供了一种集中管理所有组件共享状态的方式。对于兄弟组件之间的通信,Vuex可以作为一个很好的解决方案,因为它允许状态被全局访问和修改。原创 2024-07-07 20:47:37 · 887 阅读 · 0 评论 -
vue学习笔记(购物车小案例)
写一个按钮,当我们点击按钮的时候,就可以看到arrTest2返回的值,我们可以看到多了一个true,因为在执行every后,this.testEvery=true,对应页面的testEvery值也会进行显示。然后解释一下,这里首先使用filter方法将满足选中状态的商品进行过滤,返回的是一个数组,然后再将返回的数组使用累加方法reduce进行金额的计算。解释一下,第一个参数就是传递过来的值,是加1,还是加-1,第二个值就是对应的索引,因为要对对应的商品进行数量加减操作,所以需要对应商品的索引。原创 2024-07-06 18:15:35 · 729 阅读 · 0 评论 -
Vue3学习笔记(n.0)
所以,简而言之,在实际的开发中,上面的数组列表一般是后端返回出来的数据,我们需要使用v-for将这些数据进行渲染,但是在使用v-for的时候也必须要加key,并且key的取值要有唯一性,一般都是数据的ID,比如学生列表的学生ID,或商品列表中的商品ID。3.如果节点类型不同,直接干掉前面的节点,再创建并插入新的节点,不会再比较这个节点后面的子节点;4.使用 index 的值当作 key 的值没有任何意义(因为 index 的值不具有唯一性,实际项目中如果没有id,推荐使用index)原创 2024-07-05 21:51:23 · 318 阅读 · 0 评论 -
vue面试题整理(1.0)
computed:是计算属性,依赖其他属性值,并且computed的值有缓存,当依赖的属性值发生改变时,才会重新计算computed的值,默认是只读的(相当于getter函数),它也可以设置getter和setter函数来完成读和写。(1)、造成数据混乱:如:一个父级组件的数据传递给多个子组件,某个子组件如果通过Props修改父组件的数据,父级组件再修改其他子组件,其他子组件就会莫名其妙的被修改,造成数据混乱。watch:属性变化的检测(相当于事件),当属性的值发生变化时,可以调用函数。原创 2023-12-02 21:27:49 · 698 阅读 · 0 评论 -
我的创作纪念日
不能说成就吧,对于程序员的一天,不是在改bug的路上,还是在改bug的路上,改掉一个个的bug就是我最大的成就。提示:你过去写得最好的一段代码是什么?提示:希望未来能够不忘初心,一步步走向更好的子集。提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。原创 2023-11-18 18:50:19 · 198 阅读 · 0 评论 -
前端面试题整理(2.0)
在导航被确认的时候执行回调,并且把组件实例作为回调方法的参数,可以在这个守卫中请求服务端获取数据,当成功获取并能进入路由时,调用next并在回调中通过vm访问组件实例进行赋值等操作,(next中函数的调用在mounted之后:为了确保能对组件实例的完整访问)简单理解:导航守卫就是路由跳转过程中的一些钩子函数,再直白点路由跳转是一个大的过程,这个大的过程分为跳转前中后等细小的过程,在每一个过程中都有一个函数,这个函数能让你操作一些其他的事的时机,比如跳转前是否验证登录,这就是导航守卫。常用于发送网络请求。原创 2023-10-24 11:33:47 · 233 阅读 · 0 评论 -
前端面试题整理(1.0)
Plugin就是插件,基于事件流框架Tapable,插件可以扩展Webpack的功能,在Webpack运行的声明周期中会广播出许多事件,Plugin可以监听这些事件,在合适的时机通过Webpack提供的API改变输出结果。在以上过程中,Webpack会特定的时间点广播出特定的事件,插件在监听到感兴趣的事件后会执行特定的逻辑,并且插件可以调用Webpack提供的API改变Webpack的运行结果。③如果节点类型不同,直接干掉前面的节点,再创建并插入新的节点,不会再比较这个节点后面的子节点;原创 2023-10-21 11:27:53 · 385 阅读 · 0 评论 -
第三周晨考自测(3.0)
返回值:父节点,这里必是一个元素节点,因为文本节点或其他节点不可能当父节点,就和父元素节点有一点不同,当多次调用父节点的时候,顶级父节点是document,而父元素节点的顶级节点是document,而父元素节点的顶级节点的顶级元素节点是HTML。作用:获取某一节点下所有的子一级节点(也就是说子集节点里面嵌套的节点获取不到其标签,但是可以获取到内容,与父节点一起展示)返回值:也是一个节点(下一个兄弟节点),注意节点和元素节点的区别,这里还是节点,包括空白字符形成的文本节点。原创 2023-09-02 21:29:36 · 919 阅读 · 0 评论 -
第二周晨考自测(2.0)
i++){ var item=arr[i] // item 就是数组内的每一个数据 //把item当做key添加到对象内 obj[item]='随便数据'} //准备一个新的数组 var newArr=[] //循环遍历对象 for( var k in obj){// 把每一个 k添加到 newArr里面 newArr.push(k-0)}(21)arr.findIndex(function(item,index,arr){return})过滤数组,将满足条件的第一个数据的索引返回。原创 2023-08-19 21:30:32 · 333 阅读 · 0 评论 -
第一周晨考自测(1.0)
与解析的重名情况:(1)变量名与变量名重名(以第一个定义的变量名为准,后面定义的无意义)(2)函数名与函数名重名(后面定义的函数名会覆盖前面的函数名,也就是以后面的函数名为准)(3)变量名与函数名重名(以函数名为准)js的数据类型可以分为两种:一种是基本数据类型(数字,字符串,undefined,null,布尔),另一种是复杂数据类型(函数,对象,数组,日期对象,Set,Map等)在书写递归函数时,一般由以下内容构成:初始化,自增,执行代码,条件判断,不然就是一个没有尽头的递归函数,我们叫做死递归。原创 2023-08-19 20:49:23 · 330 阅读 · 0 评论 -
MongoDB(学习笔记1.0)
然后我们使用db.createCollection("users")创建一个名为users的集合,这里就比较恶心了,这里的集合就是我们以前学的关系型数据库中的表,对应关系就是table对应collection。这里就体现了非关系型数据库的自由了,一开始我们使用的name,age字段并不是唯一的,再向里面插入数据的时候就可以随意改变字段名,以及字段的个数。选择好点击download下载即可。还是刚才社区版安装的界面,下面有一个tools,点击即可,出现右边的安装界面,同样选择配置信息进行下载安装。原创 2023-06-05 16:52:30 · 1623 阅读 · 1 评论 -
ES6-ES13学习笔记(6.0)
箭头函数并不是万能的,一旦遇到function传统写法就直接使用箭头函数替换,在传统的时间绑定中,还是需要使用function的写法,而不要使用箭头函数,否则,一旦出现了箭头函数的嵌套,就会出现问题,特别是this指向,外层的this指向为window,里层的this指向外层的this,还是window,就会出现问题。箭头函数无法访问arguments,无法new。2.rest参数,剩余参数。箭头函数没有this。this指向父作用域。原创 2023-06-01 16:22:22 · 815 阅读 · 0 评论 -
ES6-ES13学习笔记(5.0)
注意与Array()的区别,如果直接使用Array(5),只是声明只有5个内容的空数组,而Array.of (5)则是声明数组元素为5的数组,即[5]。对于ECMA的支持还和浏览器有关以及浏览器版本有关,然后我使用Google浏览器就可以正常使用,//findLast findLastIndex() ES2022 逆序查找。发现在电脑自带的联想浏览器不支持此函数,还报错了。...复制为浅复制,如果数组中拥有嵌套就不行了。扁平化处理,将高维数组转换成一维数组。flatMap()适合复杂对象的展开。原创 2023-06-01 10:44:03 · 1299 阅读 · 0 评论 -
ES6-ES13学习笔记(4.0)
它与传统的全局方法isFinite()和isNaN()的区别在于,传统方法先调用Number()将非数值的值转为数值,再进行判断,而这两个新方法支队数值有效,Number.isFinite()对于非数值一律返回false,Number.isNaN()只对NaN返回true,非NaN一律返回false。如果传入的参数为0,那么就会输出空字符串)对于非数值,会首先转换为数值。startsWith函数 判断自发货窜是否以指定的字符串开头。endsWith函数 判断字符串是否以指定的字符串结尾。原创 2023-06-01 09:41:33 · 1075 阅读 · 0 评论 -
ES6-ES13学习笔记(3.0)
比如我们想要在ul中,加上自己想要的li结构,就需要用到模板字符串写法,传统的写法换行比较麻烦,需要在每一行的最后加上反斜杠“\”,并且,如果我们使用自定义变量name时,还需要进行字符串拼接,而${...},的写法很好的完成了替换,再加上模板字符串写法,我们就可以很容易的实现自己的li节点内容。当然了,我们在模板字符串中还可以使用函数,我们定义了test函数,在模板字符串中继续使用${...},的写法进行调用即可:即${test()}在实际应用中,比较常用的就是ES6的模板字符串写法。原创 2023-05-31 16:48:59 · 681 阅读 · 0 评论 -
ES6-ES13学习笔记(2.0)
其中,code:code2是将code重命名为code2:,防止外面的全局变量冲突。z是列表最后一个值的输出。这里是在不设置第三个变量的情况下,将两个变量的值进行交换。[y,x]=[x,y]let [a,b,c]=arr 的运行结果,在控制台输入a,b,c对应的输出。有嵌套的情况下,输出嵌套数值[m,n,y]console.log(name)的输出。date:"111"的输出。原创 2023-05-31 16:15:38 · 679 阅读 · 0 评论 -
ES6-ES13学习笔记(1.0)
答:const声明的对象不能被修改,如const obj={name:"test1"} 修改成const obj="test2"会报错。答:可以使用freeze()方法,使用Object.freeze({...})定义的对象不能够修改。但是对象里面的属性可以修改,如obj.name="kunkun".还有需要注意的点:所有的const声明都不能被修改吗?那么,如果让对象里面的内容也不能修改呢?4.暂存性死区,声明不提升。4.不与顶层对象挂钩。5.不与顶层对象挂钩。原创 2023-05-31 15:24:24 · 681 阅读 · 0 评论 -
Git 命令
git常用命令。原创 2023-05-27 16:16:16 · 1447 阅读 · 0 评论 -
Vue学习笔记(0504)
此原因也有解释:eslint根据eslint配置文件的parserOption,知道了要使用babel对代码进行解析,但是解析babel需要使用babel配置文件,由于找不到配置文件(babel配置文件默认需要放在根目录下),所以会报错。因此,添加requireConfigFile: false,本质上是告诉eslint,不用查找这个配置文件了,虽然表面上可以解决这个报错,但是在babel配置文件里写的东西也就失效了。就是找到.eslintrc.js这个文件,保存后,就不会再次报错了。原创 2023-05-04 21:02:32 · 1231 阅读 · 0 评论 -
微信小程序开发(学习记录1.0)
随便找了一系列图片下载,然后导入到我们的微信小程序文件夹,发现又报错了,这就不贴出来了,就是指它只支持png,jgp,jpeg格式的图片,我们下载的图标文件是svg的,尴尬,需要转换一下格式,所以我们用到了PS。这里我们得到了答案,所以我们就填上,这里分辨率也和图像大小有关,就选默认的27即可,如果需要,我们调低,就会产生更小大小的图片,往上调高,就会得到大一些的图片。这里就是我们转换后的图像大小,我们在我们的小程序中使用即可,由于我们只是测试,为了省事,就直接设置的都是一样的图片了。原创 2023-04-10 15:51:14 · 1970 阅读 · 0 评论 -
第一个微信小程序
依次是:项目名称,项目路径,appid就是我们刚才赋值的那个ID号,如果不填就只能在本地进行使用,并不能进行远程发布,这里模板选择默认选择第一个,当然,我们也可以选择不使用模板。这就是里面的界面,左边为小程序展示界面,右边为该界面对应的代码。来到登录后的界面,我们主要使用开发设置中的APPID,这里我们在创建小程序时需要使用,方便我们的后续发布。因为在注册时需要实名验证,并绑定了微信,注册完毕我们进行微信扫码登录即可。首先,来到微信公众平台,进行登录,没有的话先进行注册。创建完毕后,界面如下。原创 2023-04-10 10:51:07 · 1103 阅读 · 0 评论 -
Bootstrap学习笔记(1.0)
除此之外,点击过的链接,会呈现一个颜色码为 #333 的细的虚线轮廓。Bootstrap 3 CSS 有一个申请响应的媒体查询,在不同的媒体查询阈值范围内都为 container 设置了max-width,用以匹配网格系统。如果需要让使用了.img-responsive类的图片水平居中,需要使用.center-block类,不要使用.text-center。CSS:Bootstrap自带以下特性:全局的CSS设置、定义基本的HTML元素样式、可扩展的class,以及一个先进的网格系统。原创 2023-04-08 16:17:52 · 1187 阅读 · 0 评论 -
Git仓库集成到VScode
这时由于以前创建的有远程库,所以显示的就是以前的远程库,新的远程库不显示,我们可以在终端处手动执行命令:git init,这时就会在左侧出现了我们的本地仓库Git2,我们下面就是将本地文件上传至远程库。这里就是以前用的Git文件夹里面的文件,test.txt是不想上传的本地文件,这里我们创建了.gitignore文件,我们知道,以.开头的文件默认是隐藏文件,这里没有显示,我们来到资源管理器里进行查看。我去,应该是复制错地址了,整到Github里面了,不过问题不大,都是远程库。原创 2023-04-08 10:43:30 · 1875 阅读 · 0 评论 -
封装Ajax
【代码】封装Ajax。原创 2023-04-06 15:38:35 · 1047 阅读 · 0 评论 -
Yarn使用
与npm相比,yarn的速度贼快,自行体验就能够感觉到。因为yarn缓存了每个下载过的包,再次使用时无需重复下载。如果需要制定版本号,需要在md5后面加上@,比如md5@1【版本为一开头的版本如:1.0.1】或md5@2【版本为2开头的版本如:2.2.5】其中,在dependencies下就是我们安装的md5包,后面就是它的版本号。还有就是安全性:在执行代码之前,yarn会通过算法校验每个安装包的完整性。使用npm install -g yarn命令安装,速度贼快。lock文件的作用是锁定安装包的版本。原创 2023-03-27 10:51:55 · 547 阅读 · 0 评论 -
nrm的使用
意思就是对于那个open方法需要遵循ES6规范,要不然不让你用,暂时的解决方案是安装低版本的open,那样就可以使用了。(使用命令:npm i -g nrm open@8.4.2 --save)nrm 是一个 npm 源管理器,可以快速地在 npm源间切换。尤其是在下载那些外国官网的包的时候,速度贼拉慢,就会使用国内镜像,nrm就是干这个的。使用命令:nrm use taobao 就使用了淘宝这个镜像源。使用命令:nrm ls 查看可用镜像源。使用下面命令:npm i -g nrm。原创 2023-03-27 10:20:25 · 438 阅读 · 1 评论 -
Vue3学习笔记(3.0)
修饰符是以半角句号.指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。v-model指令用来在input、select、textarea、CheckBox、radio等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素值。在该实例中,v-if指令将根据表达式seen的值(TRUE或false)来决定是否插入p元素。在这里href是参数,告知v-bind指令将该元素的href属性与表达式url的值绑定。参数在指令后以冒号指明。按钮的时间我们可以使用v-on监听事件,并对用户的输入进行响应。原创 2023-03-26 17:17:16 · 422 阅读 · 0 评论 -
Swiper轮播库
Swiper是一个免费且好用的轮播库,首先,我们进入中文swiper网进行下载。该实例使用Ajax调用图例来用swiper库显示在移动端或PC端。如果想理解某个参数的意义和具体用法,可以查看API文档。使用的时候想要哪种轮播效果可以查看官网的演示效果。我们直接查看网页源码,就能知道它是怎样实现的。下载到本地进行使用即可。原创 2023-03-26 09:56:17 · 260 阅读 · 0 评论 -
H5面试题
并且构建cssom树是一个十分消耗性能的过程,所以应该尽量保证层级扁平,减少过度层叠,越是具体的css选择器,执行速度越慢。HTML5现在已经不是SGML(标准通用标记语言)的子集,主要是关于图像,位置,存储,多任务等功能的增加。纯表现的元素:basefont,big,center,font,s,strike,tt,u。方便其他设备的解析(如屏幕阅读器、盲人阅读器等),利于无障碍阅读,提高可访问性。段落用p标签,标题用h系列标签,边栏用aside标签,主要内容用main标签。原创 2023-03-23 10:23:51 · 265 阅读 · 0 评论 -
JavaScript学习笔记(9.4)
fetch(默认get方式)原创 2023-03-20 16:54:13 · 82 阅读 · 0 评论 -
JavaScript学习笔记(9.3)
服务器上执行的许多任务都非常耗时。如果网站中有多个Ajax任务,那么应该创建一个执行XMLHttpRequest对象的函数,以及一个供每个Ajax任务的回调函数。JSON属于文本,并且我们能够把任何JavaScript对象转换为JSON,然后将JSON发送到服务器。如果数据存储在JavaScript对象中,可以把该对象转换为JSON,然后将其发送到服务器。通过XMLHttpRequest对象,您可以定义当请求接收到应答时所执行的函数。该文件可以是任何类型的文件,如.txt和.xml,或服务器脚本文件。原创 2023-03-17 16:01:04 · 534 阅读 · 0 评论 -
JavaScript学习笔记(9.0)
string(例如:"hello")、number(例如:3.2555)、Boolean(例如:TRUE)、null、undefined。对x的任何改变都将改变person,因为x和person是相同的对象。注意:键是一个对象(object),不是一个字符串(string)但是您无法改变3.14的值。JavaScript对象是易变的:他们通过引用来寻址,而非值。所有JavaScript值,除了原始值,都是对象。原始值是一成不变的(他们是硬编码的,因此不能改变)(3)定义对象构造器,然后创建构造类型的对象。原创 2023-03-15 10:57:12 · 293 阅读 · 0 评论 -
JavaScript学习笔记(8.0)
2.{}可以省略,只有一句代码的时候(只有返回值)(1)const定义的是常量,let定义的是变量。1.()可以省略,但是在只有一个形参参数的情况下。(3)let是块级作用域,而var的作用域更广。(1)let不能在未定义前使用,var可以。(2)let不能重复定义,var可以。const也和var有这三点的不同。箭头函数this是父级作用域的。4.箭头函数没有this,const和let的区别。第一种:call()第二种:apply()第三种:bind()let和var的区别。原创 2023-03-14 16:39:52 · 277 阅读 · 0 评论 -
右项选项卡(示例)
现模拟win11的右项选项卡。原创 2023-03-14 11:07:07 · 116 阅读 · 0 评论 -
JavaScript学习笔记(5.0)
该方法不支持IE(6,7,8)低版本浏览器,对应的IE浏览器使用obox.currentStyle.backgroundColor。对于所有样式的万能方法(但是不能给样式赋值)操作元素样式【行内】(可以进行读写操作)原创 2023-03-12 11:13:28 · 135 阅读 · 0 评论 -
HTML5学习笔记(6.0)
当是rotateZ时,若旋转角度为正,如图所示,为视觉界面方向的顺时针旋转。当是rotateZ时,若旋转角度为负,如图所示,为视觉界面方向的逆时针旋转。当是rotateX时,若旋转角度为正,如图所示,为竖直方向的逆时针旋转。当是rotateX时,若旋转角度为负,如图所示,为竖直方向的顺时针旋转。当是rotateY时,若旋转角度为正,如图所示,为水平方向的逆时针旋转。当是rotateY时,若旋转角度为负,如图所示,为水平方向的顺时针旋转。scaleZ()在使用时必须加上景深。原创 2023-03-08 19:40:23 · 229 阅读 · 0 评论 -
HTML5学习笔记(5.0)
translateX(-100%)里面的100%是相对于自身的100%animation拆分成单一属性。用animation做轮播图示例。让动画停留在最后状态。原创 2023-03-08 10:57:27 · 170 阅读 · 0 评论 -
存储器与存储系统
存储器的功能就是存储信息,这些信息包括控制信息、数据信息、地址信息等所有在计算机程序中需要处理的内容。CPU在工作过程中要持续的从存储器中读出指令和数据,I/O设备工作时也需要采用DMA技术或通道技术从存储器中获取相关数据。从这些角度看。现代计算机中存储器处于全机的中心位置,存储器的存取速度及存储容量等参数直接影响着计算机系统的整体性能。计算机能直接处理的信息均为二进制信息,所以在存储器中存储的也为二进制形式的数据,如半导体存储器就是用一位半导体存储元存储一位二进制位,然后再经过扩展构成大规模的存储器。原创 2023-03-07 21:03:41 · 292 阅读 · 0 评论 -
LSTM词性判断
定义好一个LSTM网络,然后给出一个由很多词构成的句子,根据前面的内容,每个词可以用一个词向量表示,这样一句话就可以看作是一个序列,序列中的每个元素都是一个高维向量,将这个序列传入LSTM,可以得到与序列等长的输出,每个输出都表示为对词性的判断,比如名词、动词等。在网络的前向传播中,先将单词的n个字符传入网络,再通过nn.Embedding得到词向量,接着传入LSTM网络,得到隐藏状态的输出h,然后通过h[0]得到想要的输出状态。对于每个单词,都可以通过CharLSTM用相应的字符表示。原创 2023-03-07 21:02:53 · 555 阅读 · 0 评论