- 博客(65)
- 收藏
- 关注
原创 深入聊聊typescript、ES6和JavaScript的关系与前瞻技术发展
如果你正在使用第三方库或组件,TypeScript 通常会提供相关的类型定义文件(如 @types)。如果你没有这些类型文件,Vue 和 TypeScript 的社区也提供了很多工具来为 Vue 组件提供类型支持。
2024-12-31 17:41:29 1251
原创 基于 Node.js 的 ORM(对象关系映射)工具——Sequelize介绍与使用,并举案例分析
npm install mysql2 # 对于 MySQL模型是 Sequelize 的核心,用来描述数据库的表结构id: {},},email: {},},}, {tableName: 'users', // 指定表名timestamps: true, // 是否自动生成 createdAt 和 updatedAt 字段});// 定义 User 模型},},})// 在保存用户之前加密密码})
2024-12-31 17:30:27 788
原创 《你所不知道的JavaScript》(上册)知识复习梳理
注:该文章由我幕布笔记转移过来,其中有不少我博客链接 作用域 JavaScript编译原理 词法单元—(汇成)—词法单元流—(解析/语法分析)AST(代码生成)—可执行代码 变量出现在赋值操作左侧进行LHS查询,右侧则RHS查询,LHS找源,RHS找目标 作用域嵌套 规则就是找不到就向上找 异常(非严格模式下LHS和RHS的做法,以及严格模式下的做法) 动态作用域 动态作用域是指在函数调用时,JavaScript 会根据函数调用的 执行顺序 来确定作
2024-12-23 22:41:50 597
原创 JavaScript当中的promise链式调用分析与async/await优化链式调用应用
Promise 是一种用于处理异步操作的机制,它帮助我们避免了回调地狱(callback hell)。Promise 提供了一种更优雅的方式来处理异步操作的结果,可以通过链式调用将多个异步操作串联在一起,且使得代码更加简洁、易于理解。Promise 支持链式调用,意味着你可以通过 .then() 来在异步操作成功时进行一系列操作。每个 .then() 会返回一个新的 Promise,这使得你可以继续链式调用。
2024-12-22 13:42:04 1021
原创 JavaScript事件循环案例深入理解
执行栈(Call Stack):同步代码直接进入栈中依次执行。任务队列(Task Queue):异步任务(如 setTimeout、DOM 事件、Ajax 回调)完成后将其回调函数放入队列,等待被主线程处理。微任务队列(Microtask Queue):微任务(如 Promise 的 then 回调)优先于任务队列执行。事件循环(Event Loop):每次循环从栈中取出同步代码执行。如果栈为空,则检查微任务队列,执行其中所有任务。微任务完成后,处理任务队列中的任务。
2024-12-22 13:34:54 867
原创 JavaScript减少递归时的栈空间消耗的方法:尾递归调用,避免栈溢出
尾调用(Tail Call)是指在函数的最后一个操作中调用另一个函数。如果一个函数的最后一步是调用另一个函数(不再有其他操作),这个调用就是尾调用。
2024-12-16 22:53:52 470
原创 SuiteScript基础模块系统操作:N/record(处理记录)、N/search(搜索数据)、N/file(文件操作)
N/record:用于创建、更新、删除和加载记录。N/search:用于执行搜索操作,帮助查找 NetSuite 中的数据。N/file:用于处理文件,如上传、下载和管理文件。N/ui/serverWidget:用于创建和操作服务器端的用户界面元素(如表单和字段)。N/log:用于记录日志,调试时非常有用。操作记录:使用 N/recordN/record 模块是 SuiteScript 中最常用的模块之一,允许你操作 NetSuite 中的记录。你可以创建、加载、更新或删除记录。
2024-12-11 17:00:19 226
原创 从零到一:如何构建一个suitescript项目
创建 SuiteScript 项目时,必须使用 SuiteCloud CLI (Command Line Interface),这是 Oracle NetSuite 提供的命令行工具,专门用于与 NetSuite 进行交互,进行项目创建、部署、管理等操作。使用 SuiteCloud CLI 时,您会根据自己的 NetSuite 帐户进行配置,CLI 会自动管理与您的帐户的认证、API 连接、权限等细节。Translations:可能用于存放与翻译相关的脚本。项目的配置文件,用于管理项目的依赖项、脚本等。
2024-12-11 16:04:22 855
原创 vue中父组件接收子组件的多个参数的方法:$emit或事件总线
子组件通过 $emit 方法向父组件发送事件,同时可以传递多个参数,父组件通过事件监听来接收这些参数。
2024-12-10 21:51:13 500
原创 分析比对vuex和store模式
在 Vue 中,Vuex 和 store 模式 是两个不同的概念,它们紧密相关,主要用于管理应用的状态。下面我会详细介绍这两个概念,并通过例子帮助你更好地理解。
2024-12-10 21:48:28 449
原创 在vue3当中如何使用 vee-validate 和 yup / zod实现表单验证
vee-validate 是 Vue 生态中用于表单验证的库,它负责表单的状态管理、错误处理和交互逻辑。它可以与 zod 配合使用,来管理表单的验证逻辑和 UI 反馈。vee-validate 提供了一个 useForm 钩子,用于管理表单的验证、提交等操作,并且可以与其他验证库(如 zod)结合使用来进行规则验证。
2024-12-08 19:00:44 599
原创 详细介绍vue的递归组件(重要)
递归组件就是一个组件在其模板中引用自身。这种做法通常用于渲染树形结构或者嵌套的层级结构。比如你可能会遇到这样一个需求:你有一个数据结构,它包含父节点和子节点,每个节点可能又有自己的子节点,依此类推。使用递归组件,可以很方便地渲染这种嵌套的结构。
2024-12-08 18:56:15 707
原创 eclipse在服务器添加和删除项目add and remove的时候报错:there are no resources that can be added or removed the server
这个错误通常是因为Eclipse没有识别到任何可以部署到Tomcat服务器的项目。你可以尝试以下步骤来解决这个问题。
2024-10-23 09:01:39 280
原创 什么是跨域,为什么会发生跨域,怎么解决?
跨域(Cross-Origin)是指浏览器出于安全考虑,阻止网页从一个域(域名、协议、端口)请求另一个域的数据。这种限制被称为“同源策略”,即只有协议、域名和端口号完全相同的请求才被允许。这种机制旨在防止恶意网站对用户的敏感数据进行不正当的访问。注意,这里说的是网站与后台,但是我们可以通过和前端一致,然后让前端作为代理去跟后端沟通,这也就避免了网页和前后端的端口协议不同而导致的跨域问题了。
2024-10-21 11:03:11 403
原创 vue3的状态管理库——pinia使用介绍
使用 defineStore 创建一个 store。//定义store//导入了 defineStore 和 ref。defineStore 用于定义一个新的 store,而 ref 用于创建响应式的数据。/*第一个参数:第一个参数是 store 的唯一名称 'token'第二个参数:函数,函数的内部可以定义状态的所有内容,返回一个对象,该对象包含状态和方法。*///定义状态的内容//1.响应式变量//使用 ref 创建了一个响应式变量 token,初始值为空字符串。
2024-10-21 10:59:23 902
原创 JS生成器的特殊用法:委托yield*
yield 用于在生成器函数中暂停函数执行,并返回一个值给外部调用者。当生成器再次被调用时,会从暂停的地方继续执行。
2024-10-15 20:04:48 520
原创 浅显易懂的讲讲:什么是计算属性名?(JavaScriptES6的新属性)
计算属性名(Computed Property Names)是指在定义对象的属性时,可以使用表达式来动态计算属性的名称。这样做的好处是允许我们根据变量、函数的返回值或任何表达式来创建对象的属性名。
2024-10-15 19:59:44 276
原创 proxy代理机制和工作原理,reactive是怎么通过proxy实现响应式的
Proxy 是 JavaScript 中一个用于创建代理对象的构造函数,允许你定义基本操作(如属性查找、赋值、枚举、函数调用等)的自定义行为。通过 Proxy,你可以对一个对象进行拦截,并在该对象的操作上添加自定义逻辑。在 Vue 3 中,Proxy 被广泛用于实现响应式系统。
2024-10-14 22:43:49 911
原创 在JavaScript当中,怎么区分异质对象和常规对象,为什么说proxy是异质对象?
常规对象是指通过字面量、Object 构造函数、Object.create() 等方式创建的对象。这些对象遵循 JavaScript 的基本行为,能够使用常规的属性和方法。
2024-10-14 22:40:09 765
原创 介绍vue.js3的核心原理:响应式数据驱动虚拟 DOM 的渲染,认识渲染器、编译器、组件与三者的协同合作,理解其是如何实现从模板到视图的高效渲染的
Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架,它的核心思想是数据驱动视图更新,通过响应式的数据绑定和模板编译,让开发者能够更高效地开发动态交互的应用程序。Vue.js 的核心原理可以概括为:响应式数据驱动虚拟 DOM 的渲染,编译器将模板转化为渲染函数,渲染器使用虚拟 DOM 高效地管理 DOM 更新,而组件则是组合这些特性来构建应用的基本单元。通过这种机制,Vue 实现了高效、简洁的前端开发体验。首先需要认识三个东西:渲染器、编译器、组件。
2024-10-13 13:59:50 1071
原创 什么是TDZ?在JavaScript当中怎么避免?
暂时性死区是指在变量声明之前访问该变量时会导致 ReferenceError 的现象。这是因为 let 和 const 声明的变量在作用域内的存在是“已知的”,但它们的实际值直到执行到声明语句时才会被初始化。声明前不可访问:在变量声明之前,访问它会导致错误。声明后可访问:一旦声明语句执行完毕,变量就进入了“活跃”状态,可以被正常访问。
2024-10-13 12:51:04 800
原创 以JavaScript的学习角度看Axios,并以spring boot+vue3为例具体分析实现
Axios 是一个基于 Promise 的 HTTP 客户端,用于在浏览器和 后端 中发送异步的 HTTP 请求。它功能强大、易用,常用于与 API 交互,发送 GET、POST、PUT、DELETE 等请求。
2024-10-12 12:46:11 1416
原创 JavaScript的promise异步操作解决问题学习
在 JavaScript 中,Promise 是一种用于处理异步操作的对象。它表示一个尚未完成的操作,但可以在未来某个时间点完成或失败。Promise 使得异步代码更加简洁和直观,尤其是在需要处理多个回调函数时,它可以有效避免回调地狱(callback hell)。
2024-10-12 11:47:16 757
原创 理解学习JavaScript当中的混入操作(Mixin)
混入(Mixin) 是一种代码复用的模式。它的主要目的是将一个对象的功能“混入”到另一个对象中,而不是通过继承。这种模式通常被用来在多个类之间共享功能,而无需使用复杂的继承层次。在 JavaScript 中,混入可以通过显式和隐式的方式实现。
2024-10-11 15:32:15 598
原创 为什么现如今asm.js鲜有耳闻?
WebAssembly(Wasm) 现在已经被广泛使用,并且在现代 Web 开发中占据了重要地位。它被设计为一种高效的字节码格式,能够在浏览器中接近原生性能地运行,适用于需要高性能计算的应用场景。自推出以来,WebAssembly 已逐渐超越 asm.js,成为 Web 上高性能计算的首选技术之一。
2024-10-11 14:31:50 689
原创 学习JavaScript的真假值然后理解!!运算符的使用
运算符的实际作用是将一个任意类型的值转成布尔类型,同时根据它的“真值”或“假值”来返回。除了这些,其他值在布尔上下文中都被视为真值(truthy)。运算符在 JavaScript 中其实是两个叹号。在 JavaScript 中,有一些值总是被认为是。的组合运算,用来将任意值转换为布尔值((falsy),其他的都被认为是。
2024-10-10 11:41:31 449
原创 JavaScript的生成器与组合学习
生成器是 JavaScript 中的一种特殊函数,能够在执行过程中暂停,并且在需要的时候恢复执行。这与普通函数的执行方式不同,普通函数一旦开始执行,必须执行完所有语句后才会返回,而生成器可以在执行过程中多次暂停。
2024-10-10 10:43:55 624
原创 通过JavaScript理解什么是语法糖
语法糖(Syntactic Sugar) 是编程语言中的一种术语,指的是一些对语言功能没有实质性影响,但使代码更简洁、可读性更强的语法设计。语法糖并不会引入新的功能,而是对现有功能的简化。其作用是让代码看起来更符合人类的自然思维方式,减少复杂性,但编译器或解释器会将这些语法糖还原为更基本的、底层的代码来执行。在 JavaScript 中,语法糖 可以理解为一种让代码更加优雅或简洁的写法,实际上它背后隐藏的是更加底层的实现。
2024-10-07 19:22:01 540
原创 什么是伪多态?在JavaScript当中显式伪多态和隐式伪多态指的是什么?
显式伪多态 是在编程语言中通过非严格的多态性模拟多态行为的一种技术。在这种情况下,多态行为并不是通过经典的继承或接口机制实现的,而是通过一些显式的方法来模拟类似多态的效果。显式伪多态的核心在于程序员显式地管理类型和行为,即通过代码判断类型并执行相应的操作,而不是让语言本身通过多态性自动处理不同类型的对象。这种方法模拟了多态的效果,但并不是正统的多态实现。
2024-10-06 15:22:19 702
原创 令牌主动失效机制范例(利用redis)注释分析
令牌生成在需要限流的场景中,系统会根据一定的速率生成令牌,存储在 Redis 中。可以设定每秒生成的令牌数量。令牌获取当用户请求时,系统会从 Redis 中获取令牌。可以使用原子性操作(如 DECR)来确保令牌的正确获取和减少。令牌失效令牌的主动失效可以通过设定过期时间(TTL)来实现。当生成的令牌在一定时间内未被消费,Redis 会自动删除这些令牌。也可以通过在逻辑上判断令牌的使用情况,主动将过期的令牌从队列中剔除。监控与调整。
2024-10-05 16:35:13 717
原创 介绍多环境开发-分组(springboot-profile)
在使用 Spring Boot 进行开发时,多环境配置是一项非常常见的需求。通常,我们会在开发、测试、生产等不同环境下部署同一个应用程序,而这些环境可能需要不同的配置,例如数据库连接、日志级别等。Spring Boot 通过 profile(配置分组) 的概念来简化多环境的配置管理。
2024-10-04 15:45:44 338
原创 JavaScript 的模块化机制学习
模块导入和导出是 JavaScript 模块化的核心概念。现代 JavaScript 通常使用 ES6(ECMAScript 2015)引入的模块系统,允许使用 import 和 export 语句。
2024-10-04 15:41:07 449
原创 总有人分不清spring、spring boot、spring MVC、spring cloud是什么关系,请看这篇帖子
四者都是 Spring 生态系统中的不同组成部分,彼此之间有着紧密的联系。
2024-10-01 23:36:37 527
原创 技术疑问:为什么在现在的spring代码当中几乎没有看到Applicationcontext了
Spring Boot 通过自动配置(Auto-Configuration)简化了 Spring 应用的配置过程。以前在 Spring 中,开发者通常需要手动创建和管理 ApplicationContext 来加载 Bean,处理依赖注入等。然而,在 Spring Boot 中,ApplicationContext 的创建和初始化由框架自动完成。Spring Boot 使用的核心类 SpringApplication 会自动创建 ApplicationContext,并进行必要的初始化。
2024-09-27 12:37:37 404
原创 报错:cvc-elt.1.a:cannot find the declaration of element ‘project‘.
在 Eclipse 中,确保你的项目设置为 Maven 项目。这个错误通常是由于 Maven POM 文件的 XML 格式或命名空间问题引起的。:确保你使用的 Maven 版本与 POM 文件的 schema 相匹配。:确保没有隐藏的字符或格式错误,使用 XML 编辑器可以帮助发现这些问题。:确保你的 POM 文件是完整的,并没有其他错误。:如果你的机器无法访问 Maven 的 schema URL(),可以尝试将其手动下载并存储在本地,或暂时连接网络。
2024-09-24 11:35:47 714
原创 试图讲清楚spring的依赖注入
首先声明,依赖注入和反转容器是密不可分的,二者相互依存,依赖注入是实现反转控制的一种方式,允许对象在创建时将其依赖项提供给它,而不是在内部创建这些依赖项。这样可以增强代码的可测试性和可维护性。
2024-09-21 19:20:44 512
原创 深度理解servlet容器、servlet应用、servlet三者的关系
一个Servlet应用程序不仅包含Servlet,还包括其他组件,如JSP页面、静态资源(HTML、CSS、JS)、过滤器(Filter)、监听器(Listener)等。(也称为Web容器或Servlet引擎)是运行和管理Servlet的环境,它负责处理客户端的HTTP请求并将它们传递给相应的Servlet,最后将响应返回给客户端。这是因为Servlet容器通常会同时运行多个Web应用,每个Web应用都有自己独立的上下文路径,并根据请求的URL找到对应的。是这个应用内部的某个Servlet的路径),
2024-09-20 09:26:12 371
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人