- 博客(78)
- 收藏
- 关注
原创 构造函数的原型&原型链
属性,它指向另一个对象,这个对象称之为对象的原型。当试图访问对象的属性时,javascript 引擎不仅会查找该对象自身拥有的对象,还会沿着。:以对象为基准,以__proto__为链接的这条链条,一直到 Object.prototype 为止到这条链叫原型链。:是所有由构造函数创建的实例共享的对象,包含了可以被这个实例访问的方法和属性。向上查找,直到找到该属性或者到达原型链末端(即null)。:是对象的内部属性,指向创建它的构造函数的。,表示原型链的末端。
2025-01-12 19:19:46
403
原创 【掌握 JavaScript 数组迭代:map 和 includes 的使用技巧】
map()方法是数组原型的一个函数,用于对数组的每个元素执行一个函数,并返回一个新的数组,其中包含么哦一个元素执行的结果。
2025-01-12 16:17:33
362
原创 使用 NestJS 构建高效且模块化的 Node.js 应用程序,从安装到第一个 API 端点:一步一步指南
使用 NestJS 构建高效且模块化的 Node.js 应用程序,从安装到第一个 API 端点:一步一步指南
2025-01-05 17:04:01
830
原创 什么叫构造函数,如何使用
/ 类的定义和使用greet(){console.log(`你好,我的名字是:${this// 类的定义和使用 class Person {console . log(` 你好,我的名字是: ${ this . name } ,我今年 ${ this . age } 岁 `) } } const jerry = new Person('Jerry' , 5) jerry . greet() // 输出: 你好,我的名字是: Jerry,我今年5岁。
2024-12-18 15:28:09
420
原创 【nodejs表单数据的中间件&错误级别的中间件】
nodejs表单数据的中间件&错误级别的中间件的使用2. 安装 joi 包,为表单中携带的每个数据项,定义验证规则:joi插件官网: 3. 新建 /schema/user.js 用户信息验证规则模块,并初始化代码如下:4.在请求中使用
2024-11-22 21:38:13
412
原创 Node.js 使用 cors 中间件解决跨域问题
cors 是 Express 的一个第三方中间件。通过安装和配置 cors 中间件,可以很方便地解决跨域问题。CORS (Cross-Origin Resource Sharing,跨域资源共享)由一系列HTTP 响应头组成,。浏览器的同源安全策略默认会阻止网页“跨域”获取资源。但如果接口服务器配置了 CORS 相关的 HTTP 响应头,就可以。
2024-01-20 18:14:42
1512
原创 nodemon使用
在编写调试 Node.js 项目的时候,如果修改了项目的代码,则需要频繁的手动 close 掉,然后再重新启动,非常繁琐。现在,我们可以使用 nodemon(https://www.npmjs.com/package/nodemon) 这个工具,它能够监听项目文件的变动,当代码被修改后,nodemon 会自动帮我们重启项目,极大方便了开发和调试。
2024-01-14 17:31:14
478
原创 vue3插槽的使用
插槽内容可以访问到父组件的数据作用域,就好比上述中的 message 是父组件的。插槽内容无法访问到子组件的数据,就好比上述 App.vue 中的插槽内容拿不到子组件 child 的数据。
2023-04-15 13:29:30
2893
原创 vue富文本编辑器使用(简单粗暴复制即可用)
1、下载插件npm i wangeditor --save插件官网地址:https://www.wangeditor.com/2、封装富文本组件<template lang="html"> <div class="editor"> <!-- <div ref="toolbar" class="toolbar"></div> --> <div ref="editor" class="text"></div
2021-08-07 00:07:44
1631
7
原创 js扁平数据转成树形数据&树形数据转成扁平数据
1、扁平数据转成树形数据function setTreeData(source){ let cloneData = JSON.parse(JSON.stringify(source)) // 对源数据深度克隆 return cloneData.filter(father=>{ // 循环所有项,并添加children属性 let branchArr = cloneData.filter(child=> fat
2021-08-06 23:49:18
406
原创 vue3.0学习笔记
完善中,后面会不间断更新。一、Vue 3.0六大亮点1、performance:性能比vue2.x快1.2-2倍。2、Treeshaking support:按需编译,体积比vue2.x更小。3、Composition API(类似react Hooks)。4.Better TypeScript support:更好的TS支持。5、Custom Renderer API:暴露了自定义API。6、Fragment,Teleport(Protal),Supense:更先进的组件。二、Vue3.
2021-02-15 15:44:16
1241
2
原创 jQuery知识点记录
jQuery:类库(工具箱):宗旨是write less do more,功能:DOM操作,DOM获取,动画,数据交互(ajax),链式调用*。一、为什么jQuery可以使用链式调用因为 jQuery一直遵循一个准则:一切不关心返回值的语句都会返回你调用这个方法的jQuery对象本身,才到导致可以使用“链式调用”的方法,就是讲多条语句整合成一条语句。二、jQuery的核心方法1.在页面中查找与css选择器相匹配的元素,返回相匹配的jQuery对象$(“css选择器”)2.将源生JS节点(Node
2021-02-02 21:31:00
284
2
原创 WOW.js配合animate.css实现网页滚动加载的动画
此文介绍WOW.js配合animate.css做网页滚动加载的动画的用法。下面是会用到的官网地址和下载地址,第一次用的时候找不到下载地址,这边以及记录下来。1、点击查看WOW.js官网滚动加载动画演示2、点击去WOW.js官网3、点击去animate.css官网4、点击去WOW.js文件下载地址5、点击去animate.css下载地址开始之前先按照第点击上面WOW.js和animate.css的下载地址,去下载animate.css和wow.js文件1、在需要使用滚动加载动画的页面引入ani
2021-02-02 21:07:15
815
原创 react生命周期
react生命周期react生命周期三个阶段挂载阶段更新阶段卸载阶段一、挂载阶段1、constructor 初始化数据:它接收两个参数:props和context,当想在函数内部使用这两个参数时,需使用super()传入这两个参数。2、componentWillMount :dom渲染之前3、render:渲染函数,不要在这里修改数据。 vue中也有render函数。4、componentDidMount:在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构,可
2020-11-24 09:15:15
212
原创 vue组件中的data为什么是一个函数?
一个组件被复用多次的话,也就会创建多个实例。本质上,这些实例用的都是同一个构造函数。如果data是对象的话,对象属于引用类型,会影响到所有的实例。所以为了保证组件不同的实例之间data不冲突,data必须是一个函数,因为javascipt只有函数构成作用域,data是一个函数时,每个组件实例都有自己的作用域,每个实例相互独立,不会相互影响。...
2020-11-20 18:57:44
389
原创 vue与react使用echarts,详细使用步骤
vue引入echarts1、下载npm install echarts --save2、在min.js全局引入import Echarts from 'echarts'Vue.prototype.echarts = EchartsVue.use(Echarts)3、使用3.1、在绘图前我们需要为 ECharts 准备一个具备高宽的 DOM 容器。<template> <div> <div id="echarts" :style="{widt
2020-11-18 11:45:30
323
2
原创 计算属性——computed
vuex的state与vue的data都是用户存放数据的地方,如果我们将vuex的数据直接赋值给data然后再页面使用数据,那么vuex的数据发生变化视图不会更新,那么这个时候就需要使用到计算属性computed。案例展示通过下图可以发现,如果直接将vuex的数据赋值给data中的变量,如果我们调用vuex的mutation中的修改操作,页面数据不会更新;如果我们将数据的变化交给computed来监听然后再页面使用,会发现数据更新视图也会更新。vuex部分代码截图...
2020-11-14 10:45:04
295
原创 vue—watch深度监听(deep:true)
1、监听数字如下图:第一个输入框绑定了data中的num,使用watch监听num的变化,可以发发现是可以正常监听的。2、监听对象通过上面案例可以发现,如果监听的是一个对象,那么我们这种写法是监听不到对象内部的变化的。3、深度监听1、watch加上deep:true之后就是深度监听2、handler中返回变化后端obj3、watch第一次加载不执行,数据有变化才会执行,如果需要页面加载完毕执行,那就加上immediate:true与deep同级...
2020-11-14 10:12:54
17873
原创 react新增数据报错,The above error occurred in the <Table> component,
使用ntd组件新增数据的时候报错如下:提示时传输的数据格式不对,修改一下就好了。意思就是,错误发生在以上错误发生在组件中,考虑在树中添加一个错误边界来定制错误处理行为。也就是传入的数据格式不对原来新增数据时候的代码:修改后:...
2020-11-11 17:42:54
26474
1
原创 ts泛型
泛型在定义函数、接口或者类的时候、不需要先指定具体类型、而在用的时候再指定类型的一种特性。其实就是把类也当作变量(类是可变的,未知的)使用,把类放在<>尖括号内,表示声名的类型。定义 function 函数名<类型变量声明>(length: number, value: 类型变量): Array<类型变量> {}如:function 函数名(length: number, value: T): Array {};其中T就是类型的变量名;调用 函数名(参数) /
2020-11-09 23:32:45
827
原创 TypeScriptts使用—类型断言—访问控制符—泛型
介绍TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上TypeScript扩展了JavaScript的语法解决JavaScript的“痛点”:弱类型和没有命名空间,导致很难模块化为什么要用TypeScript1、开源2、简单TypeScript 是 JavaScript 的超集,这意味着他支持所有的 JavaScript 语法。3、兼容性好TScript 是 JS的强类型版本。然后在编译期去掉类型和特有语法,生成纯粹的 JavaSc
2020-11-09 23:31:43
1614
原创 Array对象的全局方法——详细总结
总结会修改原始数组的方法有1、shift()删掉数组第一个,会修改原数组2、pop()删除数组最会一位,会修改原数组3、reverse()反转数组,会修改原数组4、slice(开始位,结束位)切割数组,会修改原数组5、splice()替换/删除/插入,会修改原数组注:splice()可以传递三个参数,)可以替换/删除/插入),具体用法看下面的案例用法案例1、shift()删掉数组第一个,会修改原数组 let arr=[1,2,3] let a=arr.shi
2020-11-08 18:56:42
341
原创 arguments参数对象
1、一个函数的所有参数的集合,它是一个类数组,它拥有数组的下标和.length特性。2、可以在函数内部使用arguments接收所传递过来的参数,是一个集合。可以把所有的实参复制一份,放进arguments里3、arguments只能在函数内部使用,代表的是当前函数的实参副本4、arguments是一个类数组对象5、arguments存了多个值,可以通过下标的方式去访问某一个6、arguments一般用于一系列参数,但是不确定个数得时候7、arguments得下标得取值范围 0 ~ argume
2020-11-08 17:56:59
574
原创 while与do-while语法及小案例
while与do-while的区别1、do…while循环至少会执行一次循环体;2、while循环只有在条件成立的时候才执行循环体。语法while循环只有在条件成立的时候才执行循环体while(执行条件){逻辑} while(true){ var num=prompt('请输入谜底'); if(num==50){ alert('猜中了'); break; }else if(num<50){ alert('猜小了'); }els
2020-11-08 17:46:19
1218
原创 js条件判断语句switch
语法1、switch后面写的是表达式2、case后面的返回值代表的是表达式的返回值,当表达式的返回值与任意一个case后面的值相同,就会执行该case后面的代码段,然后将返回值返回出去3、如果没有满足全部case后面的返回值,那么就会返回default后面代码段的值,default就是设置默认值的地方switch (表达式){case 返回值1:{ 代码.. ... .. break; } case 返回值2:{ 代码.. ... .. break; } case 返回值3:{ 代码.. ..
2020-11-08 17:09:43
3545
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人