Javascript
文章平均质量分 84
Javascript从入门到高级
GISer_Jinger
南师大GIS
在读研二学生
励志成为大中厂外企的一名会后端会GIS的前端工程师
在CSDN还是要有大大的dream,现实里就好好加油吧!
展开
-
浏览器工作原理与Javascript高级(前后端异步)
浏览器运行是多进程的,包括主进程、渲染进行、网络进程和GPU进程等等解析HTML时(渲染进程)用到两大引擎,一个是渲染引擎(用于渲染页面)、一个是JS引擎用于解析JS代码。又JS引擎运行是单线程的,所以渲染和 js引擎是互斥的。这就要求提高JS引擎解析时间,防止长时间堵塞主线程,以提高渲染效率。异步就可用来解决此问题。渲染引擎的线程运行JS引擎的线程运行主线程中的任务先进入任务队列中给JS引擎解析,其他线程的任务(优先级如下图)的以回调任务进行队列待JS引擎解析。原创 2024-03-05 21:31:39 · 1366 阅读 · 0 评论
-
React状态管理详解
React中的状态管理是其核心机制之一,它决定了组件的渲染和交互行为。在React中,状态(state)是组件记忆信息的一种方式,它决定了组件的渲染输出。状态可以是任何类型的数据,如数字、字符串、对象或数组等。根据状态的使用范围,可以将其分为本地状态和全局状态。本地状态:本地状态是指仅在组件内部使用的状态,由组件自身维护和更新,不会被其他组件访问或修改。本地状态对于处理组件私有的数据非常有用。全局状态:全局状态是指可以被多个组件共享和访问的状态,它通常用于存储跨组件的共享数据,如用户认证信息、主题设置等。原创 2024-11-19 10:09:59 · 1109 阅读 · 0 评论 -
React合成事件及其核心思想详解
事件代理(Event Delegation)是一种常用的技术,它利用事件冒泡的原理,将事件监听器添加到父元素上,而不是直接添加到目标元素上。当目标元素触发事件时,事件会冒泡到父元素,父元素上的事件监听器可以捕获并处理该事件。这种方法可以减少事件监听器的数量,提高性能,并且便于管理事件监听器。React 的合成事件 (SyntheticEvent)是对原生 DOM 事件的封装,它在所有浏览器中表现一致,用于解决跨浏览器的兼容性问题。它是 React 自身实现的一个轻量级事件系统。原创 2024-11-18 19:53:58 · 1151 阅读 · 0 评论 -
Javascript进阶——面试常见
JS高阶进阶知识,fetch\Object.keys()\BigInt\作用域\原型\this等原创 2024-11-18 10:22:32 · 1166 阅读 · 0 评论 -
前端Javascript、Vue、CSS等场景面试题目(二)
前端面试场景题目:Vue|HTML|CSS|JAVASCRIPT|WEBPACK原创 2024-11-16 14:38:55 · 1271 阅读 · 0 评论 -
前端面试场景题目(一)
如何在浏览器中执行100万个任务,并保证页面不卡顿?如何在页面内一次性渲染10万条数据,并保证页面不卡顿?前端如何处理后端接口一次性返回的超大树形结构数据?如何禁止别人调试前端页面代码?如何对前端应用中静态资源加载失败的场景进行降级处理?前端页面白屏的原因可能是什么,如何排查?如何在前端实现网页截图功能?可以将某部分或整个页面的内容保存为图片如何使用节流或防抖技术优化频繁触发请求的搜索输入框?如何调试和解决跨浏览器兼容性问题?如何设计一个前端页面,实现PC端访问展示Web应用,移动端访问展示H5应用?如何实原创 2024-11-16 14:28:34 · 527 阅读 · 0 评论 -
Javascript_设计模式(二)
迭代器模式是一种行为型设计模式,它用于提供一种顺序访问聚合对象中各个元素的方法,而又不暴露该对象的内部表示。通过使用迭代器模式,可以遍历一个聚合对象,而无需关心该对象的内部结构和实现细节。使用场景当你需要访问一个聚合对象中的元素,但不想暴露其内部结构时,可以使用迭代器模式。例如,遍历一个列表、集合或数组等数据结构时,可以使用迭代器模式来隐藏底层数据结构的实现细节,提供统一的遍历接口。模板方法模式定义了一个算法的骨架,并允许子类为一个或多个步骤提供实现。原创 2024-11-15 10:08:24 · 998 阅读 · 0 评论 -
Javascript——设计模式(一)
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式的主要目的是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编制真正工程化,是软件工程的基石。原创 2024-11-15 10:03:11 · 913 阅读 · 0 评论 -
前端系统设计面试题(二)Javascript\Vue
单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户使用一组凭据(例如用户名和密码)登录一个系统后,可以无需重新输入凭据就能访问其他相关联的系统。前端实现单点登录的方式通常依赖于后端提供的SSO服务。原创 2024-11-14 16:14:05 · 1039 阅读 · 0 评论 -
前端系统设计面试题(一)Javascript\Vue
在 JavaScript 中,事件总线(Event Bus)是一种设计模式,允许不同组件或对象通过事件进行通信,而无需直接引用对方。在前端项目中实现模块化,可以采用多种技术和工具,如 ES6 模块、CommonJS、AMD 等。在前端页面实现无限滚动加载内容时,为了保持页面性能和用户体验,可以自动回收上面的内容。:后端接收到前端请求后,根据AppID、回调URL等信息生成微信登录的二维码URL,并返回给前端。:首先,需要在微信开放平台注册一个账号,并创建一个网站应用,获取AppID和AppSecret。原创 2024-11-14 16:02:28 · 1161 阅读 · 0 评论 -
BPMNJS设计核心思想和核心模块
可扩展的渲染器BPMN.js 支持开发者自定义渲染器,可以通过覆盖默认的,为流程图中的节点和连线自定义样式。开发者可以定义新的 SVG 元素、附加图标等,适应企业的特定样式要求。原创 2024-11-13 14:38:15 · 808 阅读 · 0 评论 -
BPMNJS设计器开发核心功能分析
现在BPMN有许多资源,但好像有门槛,也不知道到底要做什么,此文章从系统功能和业务需求功能分析了BPMN系统到底需要实现什么功能,该怎样做原创 2024-11-13 11:36:15 · 1097 阅读 · 0 评论 -
Vue自定义指令详解——以若依框架中封装指令为例分析
自定义指令允许开发者直接对DOM元素进行低层次操作,而无需编写大量的模板或者JavaScript代码。它们可以响应Vue的响应式系统,从而在数据变化时触发相应的DOM更新。全局注册使用方法可以在全局范围内注册一个自定义指令。// 指令的定义// 只调用一次,指令第一次绑定到元素时调用// 在这里可以进行一次性的初始化设置},// 其他钩子函数...});局部注册在组件中,可以使用directives选项来局部注册自定义指令。// 指令的定义// ...},// 其他钩子函数...},原创 2024-11-12 21:35:49 · 711 阅读 · 0 评论 -
Javascript常见数据结构——二叉树
二叉树(Binary Tree)是一种重要的数据结构,每个节点最多只有两个子节点,分别称为左子节点和右子节点。二叉树广泛用于树形数据的处理,比如表达式解析、优先级队列、文件系统结构等。本文将详细介绍二叉树的结构、常见操作,并通过 JavaScript 示例代码进行演示。原创 2024-11-12 13:28:56 · 315 阅读 · 0 评论 -
Javascript中Map与Set以及其常见遍历方式
在JavaScript中,Map和Set是两种非常重要的集合类型,它们提供了比传统对象(Object)和数组(Array)更强大和灵活的数据存储和操作方法。下面是对Map和Set的详细解释。原创 2024-11-12 10:54:49 · 796 阅读 · 0 评论 -
【前端基础】Javascript取整函数以及向零取整方式
在JavaScript中,有多种方式可以对数字进行取整操作,即去掉小数部分,只保留整数部分。在JavaScript中,有多种方法可以对数字进行取整操作。这些方法各有特点,适用于不同的场景。方法会去掉一个数字的小数部分,返回其整数部分,但不进行四舍五入。在处理数字时,会将操作数转换为32位整数,从而截断小数部分。每种方法都有其适用的场景和限制,选择时需根据具体需求进行权衡。也是一种按位取整的方式,效果与。类似,会截断小数部分。原创 2024-11-11 22:26:09 · 802 阅读 · 0 评论 -
【前端】Typescript从入门到进阶
TypeScript 提供的基本类型有 `number`、`string`、`boolean`、`null`、`undefined`、`symbol`、`bigint`、`void` 等。TypeScript 内置了一些工具类型,如 `Partial`、`Required`、`Readonly` 等。TypeScript 提供了多种类型守卫,包括 `typeof`、`instanceof` 和自定义类型守卫。// 错误:title 是只读属性。交叉类型用于将多个类型合并为一个类型,用 `&` 表示。原创 2024-11-11 19:57:08 · 947 阅读 · 0 评论 -
前端代码分析题(选择题、分析题)——this指向、原型链分析
原型链、this指向原创 2024-11-10 14:47:02 · 1109 阅读 · 0 评论 -
NodeJS中process.nextTick()详解
process.nextTick是 Node.js 提供的一个用于控制异步执行流程的函数。它允许你将一个回调函数添加到当前执行栈的末尾,但是会在任何 I/O 事件、计时器或回调之前执行。以下是。原创 2024-11-10 12:07:59 · 721 阅读 · 0 评论 -
前端代码分析题(选择题、分析题)——JS事件循环分析、await和作用域分析
事件循环是JavaScript运行时环境中的一个循环机制,它不断地检查调栈用和任务队列。当调用栈为空时,事件循环会首先检查微任务队列,并执行其中的所有任务。只有当微任务队列为空时,事件循环才会检查任务队列,并执行其中的任务。,而 then方法注册的回调函数则是在。(调用栈-》微任务队列-》宏任务队列)Promise 对象的执行是异步的,Promise 的执行顺序。的语法糖,专门用于捕获。链中未被处理的拒绝情况。原创 2024-11-09 16:59:15 · 1449 阅读 · 0 评论 -
Javascript事件循环流程分析
在JavaScript中,调用栈(Call Stack)是一个LIFO(后进先出)结构,用于管理函数调用及其执行上下文。每当一个函数被调用时,一个新的执行上下文会被创建并推入调用栈中;当函数执行完毕后,其执行上下文会从调用栈中弹出。:事件循环是JavaScript运行时环境中的一个循环机制,它不断地检查调栈用和任务队列。当调用栈为空时,事件循环会首先检查微任务队列,并执行其中的所有任务。只有当微任务队列为空时,事件循环才会检查任务队列,并执行其中的任务。原创 2024-11-09 15:23:42 · 1111 阅读 · 0 评论 -
[前端]NodeJS常见面试题目
非阻塞 I/O是一种编程模式,它允许 I/O 操作(如读取文件、网络请求等)在执行时不阻塞程序的其余部分。换句话说,当一个 I/O 操作发起后,程序可以立即继续执行其他任务,而不必等待该 I/O 操作完成。Node.js 天然采用了非阻塞 I/O 模型,这使得它特别适合 I/O 密集型应用,例如 Web 服务器、实时聊天应用等。Node.js 实现非阻塞 I/O 的关键在于其事件驱动(Event-Driven)的架构和异步操作。原创 2024-11-08 21:23:10 · 885 阅读 · 0 评论 -
常见前端代码分析面试题Javascript|html
html\CSS\Javascript原创 2024-11-08 10:30:00 · 645 阅读 · 0 评论 -
Javascript常见数据结构及其应用场景
数组是由一组按顺序排列的值组成,每个值都有一个对应的索引(下标),可以通过索引访问和修改数组中的元素。原创 2024-11-07 21:32:36 · 1017 阅读 · 0 评论 -
[前端]Javascript中闭包详解(很全!!!)
闭包是由函数以及创建该函数时的作用域组合而成的。这意味着,即使函数在其词法作用域之外被调用,它仍然可以访问那个作用域中的变量。原创 2024-11-07 15:11:32 · 1366 阅读 · 0 评论 -
Vue Router进阶详解
Vue Router进阶:导航守卫动态路由、过渡效果transition等原创 2024-11-03 16:39:10 · 859 阅读 · 0 评论 -
Javascript数据结构与算法——栈与队列
栈与队列原创 2024-11-02 15:29:56 · 247 阅读 · 0 评论 -
Vue常见面试题
动态路由的定义动态路由是指把匹配某种模式下的路由映射到同一个组件中,本质是通过 URL 进行传参。例如,有一个商品 Goods 的组件,需要让不同的商品 ID 都映射到这个组件中,此时就需要用到动态路由。在 Vue 中,可以通过在路由路径中使用冒号(:)来绑定动态参数。javascript复制代码获取动态参数使用params方式传参时,可以通过来获取动态参数。例如,在上述路由配置中,要获取商品 ID,可以使用。使用query方式传参时(例如),可以通过来获取动态参数。例如,要获取商品 ID,可以使用。原创 2024-11-01 21:10:44 · 819 阅读 · 0 评论 -
Vue基础知识——async指令、scope和样式穿透
sync在 Vue.js 中,.sync修饰符是一种语法糖,用于简化父子组件之间的双向数据绑定。它主要用在子组件向父组件发送更新某个 prop 的事件时。在 Vue 2.3.0+ 版本中,.sync修饰符被重新引入(之前在 Vue 1.x 中存在,但在 Vue 2.0 中被移除了),用于替代之前需要手动监听事件并更新父组件数据的模式。.sync。原创 2024-11-01 13:24:02 · 1113 阅读 · 0 评论 -
KOA——基于Node的Web框架
Koa是一个新的web框架,致力于解决Node.js开发中的回调地狱痛点,并提供了更优雅的错误处理和异步流程控制。Koa于2015年首次发布,主要面向现代Web开发,特别是与ES6及更高版本的JavaScript语法兼容。原创 2024-10-31 20:17:31 · 702 阅读 · 0 评论 -
Javascript字符串操作常见算法题
给定一个字符串,要求输出其反转后的字符串。原创 2024-10-28 16:41:18 · 755 阅读 · 0 评论 -
【面试题】Node.JS篇
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许JavaScript代码在服务器端运行。Node.js的主要特点是事件驱动、非阻塞I/O模型,这使得它非常适合处理高并发请求和实时应用。它适用于构建快速、可扩展的网络应用,如API服务器、实时聊天应用、单页应用(SPA)的后端服务等。npm(Node Package Manager)是Node.js的包管理器,它允许你安装、发布和管理Node.js包。你可以使用命令来安装依赖,使用npm init命令来创建文件,以及使用。原创 2024-10-27 14:23:46 · 996 阅读 · 0 评论 -
【前端面试】Typescript
在TypeScript中,对象类型用于表示具有多个属性的数据结构。可以通过字面量、接口或类型别名来定义对象类型。字面量定义接口定义:使用interface类型别名定义:使用type类型别名是TypeScript中的一个功能,它允许你为复杂的类型表达式创建一个简洁的名称。这有助于提高代码的可读性和可维护性。。。。接口是TypeScript中的一个核心概念,它用于定义对象的形状,即对象应该包含哪些属性以及这些属性的类型。接口还可以包含方法签名,用于描述对象应该实现哪些方法。原创 2024-10-27 13:41:10 · 906 阅读 · 0 评论 -
[面试题]ES6 Javascript
它具有唯一性、不可变性和作为属性标识符的特性。4)解构赋值:是一种 JavaScript 表达式,它允许从数组或对象中提取属性或值,并将这些值赋给其他变量{a,b}={name:"a",age:11} [a,b]=[1,2]7)其他特性:箭头函数没有自己的 arguments对象,没有原型 prototype,不能用作 Generator 函数,不能使用 yeild 关键字,没有 super.虽然Symbol不能实现真正的私有变量效果,但可以作为对象属性的键名,这些属性对于常规的对象遍历和操作是不可见的。原创 2024-10-25 21:56:27 · 992 阅读 · 0 评论 -
[面试常见]Javascript基础知识
有类似数组的特性,但并不是数组的对象,通常具备length属性和按索引存储的元素(argumments对象、DOM方法返回的集合NodeList)轻量级数据交换格式,先前后端通讯数据传递常用,配置文件,与JS对象表示相似。都进行浅拷贝,只赋值对象的第一层属性,而不会递归复制整个对象结构。原创 2024-10-23 11:46:55 · 1608 阅读 · 9 评论 -
Javascript基础面试题
javascript基础必备原创 2024-10-22 22:23:51 · 603 阅读 · 0 评论 -
Javascript算法——链表
在JavaScript中,链表作为一种常见的基础数据结构,具有节点动态分配、内存使用灵活等特点,特别适用于插入和删除操作频繁的场景。总之,链表在JavaScript中具有广泛的应用场景和算法题目。掌握链表的基本结构和操作是实现这些算法和应用的基础。通过不断练习和实践,可以加深对链表的理解和掌握。:判断链表中是否存在环形结构,这通常可以使用快慢指针的技巧来实现。:从头到尾遍历链表,处理每个节点的值或指针。:将两个有序链表合并成一个有序链表。原创 2024-10-22 20:09:28 · 1010 阅读 · 0 评论 -
配置Typescript环境
配置一个 TypeScript(TS)的编写环境涉及多个步骤,包括安装必要的软件、配置项目文件以及选择适合的开发工具。原创 2024-10-21 22:41:48 · 1043 阅读 · 0 评论 -
Javascript链表模拟
在JavaScript中,我们可以使用对象和函数来创建链表结构。链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针。链表主要有单向链表和双向链表两种类型,这里我们先介绍单向链表。原创 2024-10-21 17:21:24 · 814 阅读 · 0 评论 -
Javascript算法(滑块窗口、螺旋矩阵)
JS滑块窗口算法,即滑动窗口算法(Sliding Window),在JavaScript中的应用场景主要集中在处理字符串和数组等数据结构中的子串或子数组问题。这种算法通过维护一个窗口,并移动窗口的两个边界(左右指针)来优化暴力枚举的时间复杂度,从而提高算法的执行效率。,要看rows和columns的大小,如果rows>columns,则是中间列,相反,则是中间行.,则矩阵最中间位置不只是[mid][mid],而是会留下来一个特殊的中间行或者中间列,同样的原理,本题的mid计算也存在上述差异;原创 2024-10-20 19:34:21 · 603 阅读 · 0 评论
分享