01 2023 档案
摘要:
JavaScript 文件上传与下载
阅读全文

摘要:
JavaScript 条件判断与比较运算
阅读全文

摘要:
JavaScript 中有多种赋值方式。
阅读全文

摘要:
JavaScript 中有两种类型转换:隐式类型转换和显式类型转换。
阅读全文

摘要:
JavaScript 数组去常用方法
阅读全文

摘要:
JavaScript 执行上下文是指 JavaScript 引擎在执行代码时的环境。它包含了代码所需的所有信息,包括变量对象、作用域链、this 对象等。
作用域是指 JavaScript 中变量和函数的可访问范围。JavaScript 中有全局作用域和局部作用域。
阅读全文

摘要:
JavaScript 中有两种类型的值:原始值和引用值。
阅读全文

摘要:
JavaScript中有两种方法来自增或自减一个变量的值,分别是自增运算符和自减运算符。
阅读全文

摘要:
在 JavaScript 中,当有大量的子元素都需要绑定同一个事件时,冒泡事件可能会导致性能问题。
阅读全文

摘要:
事件委托是一种事件处理方式,它可以通过在父元素上绑定事件,然后利用事件冒泡的特性,让父元素处理子元素上的事件。这样做的好处是可以减少事件监听器的数量,提高性能。
阅读全文

摘要:
在事件冒泡中,当一个事件在子元素上触发时,会先在该子元素上执行事件处理函数,然后再向其父元素传播,直到文档的根元素。这意味着,如果在父元素上添加了事件监听器,那么在子元素上触发的事件也会在父元素上执行该监听器。
在事件捕获中,当一个事件在子元素上触发时,会先从文档的根元素开始,向下传播到该子元素。这意味着,如果在父元素上添加了事件监听器,那么在子元素上触发的事件会先在父元素上执行该监听器。
阅读全文

摘要:
JavaScript 是一种脚本语言,它可以在浏览器中加载和执行。在 HTML 文档中,JavaScript 代码可以直接嵌入到 HTML 文档中,也可以通过引用外部 JavaScript 文件来加载和执行。
阅读全文

摘要:
WebAssembly (简称Wasm) 是一种运行在浏览器中的二进制文件格式,它可以在浏览器中与 JavaScript 配合使用,允许在浏览器中执行更快的、更复杂的应用程序。
阅读全文

摘要:
JavaScript 中的继承可以通过多种方式来实现,如原型链继承、借用构造函数继承、组合继承、ES6 Class继承等。
阅读全文

摘要:
JavaScript 中的函数式编程是一种编程范式,它将函数作为一等公民来使用。
在函数式编程中,函数是一种特殊的对象,可以赋值给变量、作为参数传递给其他函数、或作为其他函数的返回值。
函数式编程强调了函数的纯函数性,即函数输入相同时,总能得到相同的输出,并且不会对外部状态产生影响。
函数式编程还提倡使用高阶函数,即函数可以作为参数传递给其他函数,或作为其他函数的返回值。
阅读全文

摘要:
跨域 (Cross-origin resource sharing, CORS) 是指在浏览器中,同源策略限制了来自不同域的脚本对每个网络资源的访问权限。
阅读全文

摘要:
JavaScript 中的循环引用是指两个或多个对象之间相互引用的情况。这种情况下,这些对象就不能被垃圾回收机制正常回收,会导致内存泄漏。
阅读全文

摘要:
JavaScript 中的内存管理主要由 JavaScript 引擎负责,开发人员不需要手动管理内存。JavaScript 引擎使用垃圾回收算法来实现自动垃圾回收。
JavaScript 垃圾回收算法是指在 JavaScript 程序中,用来回收不再使用的内存的算法。
阅读全文

摘要:
JavaScript 是一种单线程语言,这意味着只有一个线程可以在同一时间执行 JavaScript 代码。在 JavaScript 中,异步编程是一种编写不阻塞代码的方式,它可以在不影响页面响应的情况下执行长时间运行的操作。
JavaScript 中有几种常用的异步编程模型,如回调函数、Promise 和 async/await。
阅读全文

摘要:
JavaScript 中的作用域指的是变量和函数的可访问范围。
JavaScript 中,闭包是一个函数对象,它可以访问定义该函数的作用域里的变量,即使函数已经返回。闭包的特点是,它可以在其相关环境不存在时保留变量。闭包可以被保存到变量中并在以后使用。它具有两个特征,一是可以访问外部函数的变量,二是它可以在外部函数执行结束后继续执行。闭包可以用来实现私有变量,记忆函数,高阶函数等功能。
阅读全文

摘要:
JavaScript 中的 this 关键字引用了所在函数正在被调用时的对象。在不同的上下文中,this 的指向会发生变化。可以通过 call, apply, bind 方法来改变 this 的上下文。
阅读全文

摘要:
MVVM (Model-View-ViewModel) 和 MVC (Model-View-Controller) 都是软件架构模式,用于将应用程序的不同部分分离开来,更好地组织代码。
阅读全文

摘要:
Promise 同步处理可以使用 async/await 来实现
阅读全文

摘要:
在 JavaScript 中,如何中断数组对象的 forEach 方法的循环?
阅读全文

摘要:
在 Vue 中,如果直接对数组进行操作,比如使用下标直接修改元素, Vue 是无法监测到这种变化的,导致无法触发视图更新。因此如何监测数组变化是值得关注的问题。
阅读全文

摘要:
在 Vue 中,每个组件都是一个对象,当多个实例共享同一对象时,它们将共享相同的状态。如果 data 不是一个函数并且是一个对象,那么所有组件实例将共享相同的 data 对象,这样就会导致状态混乱。 为了避免这种情况,Vue 强制要求 data 必须是一个函数,这样每个组件实例都会得到一个独立的 d
阅读全文

摘要:
在 JavaScript 中请求服务端接口主要有三种方式:
1、XMLHttpRequest: 这是 JavaScript 中内置的对象,可以在浏览器端使用。通过 open() 和 send() 方法来配置和发出请求,然后使用 onreadystatechange 属性来处理响应。
2、Fetch API: 是一种更简单的方法发出 HTTP 请求,你可以使用 fetch() 函数来发出请求,返回一个 Promise 对象来处理响应。
3、Axios: 是一个基于Promise的 HTTP 客户端,可以更方便地发出请求,使用类似 jquery ajax 的方式来发送请求,可以设置请求头、拦截器等。
在使用这些方法请求服务端接口时,需要考虑跨域问题。可以使用 JSONP 或 CORS 来解决跨域问题。
阅读全文

摘要:
JavaScript 中有多种方法来判断变量的类型,如 typeof、instanceof、Object.prototype.toString.call()、constructor属性、Symbol.toStringTag属性以及 lodash 等第三方库
阅读全文

摘要:
async/await 是 JavaScript 中的语法糖,用于简化异步代码的编写。它允许你在异步代码中使用同步风格的语法,使代码更易于阅读和维护。
阅读全文

摘要:
HTTP协议(超文本传输协议)是一种用于在万维网上传输超文本的协议。它是基于请求-响应模型的应用层协议。客户端发送一个请求消息给服务器,服务器返回一个响应消息。
阅读全文

摘要:
JavaScript 中对象的赋值是通过将一个对象的引用赋值给另一个变量,两个变量指向同一个内存地址。这意味着如果更改其中一个对象的值,另一个对象的值也会更改。
浅拷贝是将一个对象的值复制给另一个对象,但如果对象中包含对其他对象的引用,则这些引用仍然指向原来的对象。可以使用 Object.assign() 和 spread operator(扩展运算符 ...)等方法来实现浅拷贝。
深拷贝是完全复制一个对象及其中包含的所有对象。可以使用 JSON.parse(JSON.stringify()) 或 lodash.cloneDeep() 等方法来实现深拷贝。
阅读全文

摘要:
二分查找(Binary Search)是一种在有序数组中查找目标元素的查找算法。它的基本思路是:在数组的中间元素开始,如果该元素等于目标元素,则查找成功;如果该元素大于目标元素,则在左半部分继续查找;如果该元素小于目标元素,则在右半部分继续查找。这样一直重复这个过程,直到查找成功或者查找失败。
阅读全文

摘要:
在前端实现十万行数据的表格秒级响应的思路
阅读全文

摘要:
JavaScript的并发模型基于事件循环和异步函数,并通过Web Workers支持多线程。这些技术允许JavaScript在不阻塞用户界面的情况下执行耗时的操作,提高程序性能
阅读全文

摘要:
父元素被子元素的 margin-top 影响的解决方法
阅读全文

摘要:
JavaScript 面向切面编程 (AOP) 是一种编程思想和实现方式,它将一些关注点(例如日志记录、安全性检查、性能监控等)从主题对象中分离出来,通过“横切关注点”的方式在程序中动态地织入这些关注点。这样可以避免在主题对象中嵌入大量的关注点代码,使得代码更加简洁和可维护。
阅读全文

摘要:
CSS Grid 布局是一种二维布局方式,可以将页面分成行和列,并在其中放置元素。使用 Grid 布局时,需要定义网格容器和网格项目。
阅读全文

摘要:
JavaScript 是一种基于原型继承的语言。在 JavaScript 中,对象是通过原型链来继承属性和方法的。
阅读全文

摘要:
JavaScript 获取对象的长度
阅读全文

摘要:
Vue 双向数据绑定原理涉及到 Vue 中的响应式系统和模板编译
阅读全文

摘要:
虚拟 DOM 是一个 JavaScript 对象,它可以描述一个真实的 DOM 结构,并在数据发生变化时重新渲染。
阅读全文

摘要:
Vue.js是一个渐进式的JavaScript框架,它使用了响应式系统来维护应用程序的状态。响应式系统是Vue.js的核心部分,它使得应用程序能够自动地更新视图,当数据发生变化时。
阅读全文

摘要:基于Asp.Net的控件开发涉及到两种,一种是用户控件,即通过vs自带的服务器控件进行组合以开发需求,该类控件的开发相对简单;另一种是自定义控件,开发难度较高。 1、在vs中新建一个类库的项目WebControl,添加对System.Web.UI程序集的引用, 2、在项目的AssemblyInfo.
阅读全文
摘要:在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows
阅读全文
摘要:
Flexbox (弹性盒子)是 CSS3 中的一种布局模式。它允许元素在一个容器中自动排列,可以使用灵活的方式创建复杂的布局。Flex 布局有很多优点,例如,它很容易实现响应式设计,并且可以很容易地对齐和排列元素。
阅读全文

摘要:
页面缓存问题是指页面的静态资源(如图片、JS 和 CSS 文件)在浏览器中被缓存后,导致页面不能正确地更新或者加载最新的内容
阅读全文

摘要:
手机端 H5 实现自定义拍照界面也可以使用 MediaDevices API 和 和 video 标签来实现。
阅读全文

摘要:
JavaScript 可以使用类似于 canvas 和 web workers 来实现图像压缩。
使用 canvas,可以将图像绘制到 canvas 上,然后使用 canvas 提供的 toBlob() 或 toDataURL() 方法将其转换为不同格式的图像。在这些方法中指定图像质量参数即可实现压缩。
使用 web workers,可以在后台执行图像压缩,以避免阻塞 UI 线程。
阅读全文

摘要:
JavaScript 扁平结构数组数据与树形结构数组数据的相互转换。
阅读全文

摘要:
JavaScript base64 与 File 之间的互转
阅读全文

摘要:
JavaScript 中URL 查询字符串(query string)的序列与反序列化
阅读全文

摘要:
JavaScript 可以通过获取图片的 base64 编码并计算其大小来计算图片大小。
阅读全文

摘要:
微前端是一种前端架构模式,旨在将大型前端应用拆分成若干个小型前端应用,并使用框架将它们整合在一起。
阅读全文

摘要:
设计模式是一种在软件开发中常见的解决方案,可以帮助我们解决常见的设计问题。在 JavaScript 中,也有很多常见的设计模式。
阅读全文

摘要:
前端工程化是指在开发前端应用时,使用工具、流程和最佳实践来提升效率和质量。
阅读全文

摘要:
JavaScript 是一门动态类型、解释型的编程语言,在网页开发中扮演着非常重要的角色。随着网页的复杂度和访问量的增加,JavaScript 性能的优化就显得越来越重要。
阅读全文

摘要:
页面重排(reflow)是指浏览器重新计算页面的渲染布局,通常是由于元素的尺寸、位置或者视口尺寸发生了变化导致的。重排会影响页面的性能,应尽量避免。
页面重绘(repaint)是指浏览器对已渲染的页面进行更新,通常是由于元素的样式发生了变化导致的。重绘不会影响布局,但会消耗更多的 CPU 资源。
阅读全文

摘要:
JavaScript 防抖和节流是两种常见的性能优化技术,用于减少函数的执行次数。
防抖(debounce)是指在一段时间内,如果有多次触发事件,则只执行最后一次事件。
节流(throttle)是指在一段时间内,只执行一次事件。
阅读全文

摘要:
在 JavaScript 中,你可以使用以下几种方法来遍历对象:
1、for...in 循环:for...in 循环用于遍历对象的属性。
2、Object.keys() 方法:Object.keys() 方法返回一个包含对象所有可枚举属性名称的数组。
3、Object.entries() 方法:Object.entries() 方法返回一个包含对象所有可枚举属性键值对的数组。
4、Object.getOwnPropertyNames() 方法:Object.getOwnPropertyNames() 方法返回一个包含对象所有属性名称的数组(包括不可枚举属性)。
阅读全文
