![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 72
从入门到精通
王震是也
这个作者很懒,什么都没留下…
展开
-
[JS]精选面试题-4
内层函数引用外层函数的变量就行形成了闭包作用域链是一个由多个作用域构成的链式结构,它决定了JavaScript引擎在查找变量或函数时的查找顺序。原创 2024-08-25 12:15:32 · 325 阅读 · 0 评论 -
[JS]精选面试题-3
事件模型是一种设计模式。它允许对象之间通过事件进行通信和处理你可以使用构造函数来创建一个自定义事件。构造函数接受几个参数,包括事件名称(type)、一个配置对象(可选,用于设置事件是否可冒泡、是否可取消等)。bubbles: true, // 是否冒泡cancelable: true, // 是否可以取消detail: { // 传递给事件处理程序的额外数据});使用方法可以为元素或对象添加事件监听器,以监听自定义事件。// 输出: Hello, this is a custom event!})原创 2024-08-24 12:21:01 · 701 阅读 · 0 评论 -
[JS]精选面试题-2
XML:是一种可扩展标记语言,专门用于存储和交换数据。JSON:是一种轻量级的数据交换格式,基于JavaScript语言的一个子集。JSON是一种轻量级的数据交换格式, 最初是从JavaScript中发展而来,如今已经成为一种独立于语言的数据交换格式。JSON使用键值对来表示数据,键和值之间用冒号分隔,对象用花括号{}表示,数组用方括号[]表示。JSON的数据结构紧凑, 非常简洁, 易于阅读理解, 并且文件体积较小。原创 2024-08-23 19:09:17 · 697 阅读 · 0 评论 -
[JS]精选面试题-1
变量提升是指在码执行前,变量和函数的声明会被移动到它们所在作用域的顶部, 这个过程只提升声明, 不提升复制XML:是一种可扩展标记语言,专门用于存储和交换数据。JSON:是一种轻量级的数据交换格式,基于JavaScript语言的一个子集。JSON是一种轻量级的数据交换格式, 最初是从JavaScript中发展而来,如今已经成为一种独立于语言的数据交换格式。JSON使用键值对来表示数据,键和值之间用冒号分隔,对象用花括号{}表示,数组用方括号[]表示。原创 2024-08-22 09:01:49 · 573 阅读 · 0 评论 -
[JS]设计模式
设计模式就是在 面向对象软件 设计过程中, 针对特定问题的简洁而优雅的解决方案目前说到设计模式, 一般指<设计模式: 可复用面向对象软件的基础>一书中提到的23种常见软件设计模式。原创 2024-07-08 08:49:09 · 782 阅读 · 0 评论 -
[JS]面向对象ES6
静态: 通过static关键字定义静态属性和方法, 所谓静态就是只能通过类调用, 不能通过实例调用。私有: 类属性在默认情况下是公有的, 可以通过 前缀 # 定义私有字段, 声明和访问时都需要。extends关键字用于类声明或者表达式中, 以创建一个类, 该类是另一个类的子类。super关键字用于访问对象字面量或类的原型上的属性, 或调用父类的构造函数。通过接口, 在不改变类的情况下, 增强类的功能和灵活性。ES6是基于 class关键字 创建类。原创 2024-07-03 10:14:22 · 499 阅读 · 0 评论 -
[JS]彻底搞定this
在绝大多数情况下, 函数的调用方式决定了this的值(运行时绑定), this不能在执行期间被赋值, 并且每次函数被调用this的值都可能会不同。修改this的方法有两类: 调用时修改, 创建时修改。原创 2024-07-02 08:46:04 · 221 阅读 · 0 评论 -
[JS]Generator
Generator函数是 ES6 提供的一种异步编程解决方案, async是该方案的语法糖。原创 2024-07-14 13:27:55 · 488 阅读 · 0 评论 -
[JS]认识feach
发请求原创 2024-07-13 15:22:40 · 358 阅读 · 0 评论 -
[JS]hm头条-admin
介绍头条数据管理平台: 对IT资源移动网站的数据进行管理移动网站(演示):极客园主要功能登录和权限判断查看文章内容列表(筛选, 分页)编辑文章(数据回显)删除文章发布文章(图片上传, 富文本编辑器)技术选型基于Bootstrap搭建网站标签和样式集成wangEditor插件, 实现富文本编辑器使用原生JS完成增删改查业务基于axios进行前后端交互使用axios拦截器进行权限判断项目准备html, css, js, 图片, 第三方插件目录结构。原创 2024-06-01 09:47:16 · 981 阅读 · 0 评论 -
[JS]事件循环
概念事件循环(EventLoop)负责执行代码, 收集和处理事件以及执行队列中的子任务原因JS是单线程语言, 要防止耗时代码阻塞主线程的任务, 就设计了事件循环模型过程同步任务直接在调用栈中执行异步任务交给宿主环境(浏览器)执行, 执行完毕后, 加入到任务队列中排队一旦调用栈空闲, 就会读取任务队列中的任务, 继续执行案例使用事件循环模型, 分析代码执行过程/*** 目标:阅读并回答执行的顺序结果* 1 5 3 2 4 点击document打印6*/}, 0)原创 2024-05-31 09:02:11 · 1075 阅读 · 0 评论 -
[JS]异步/同步
在async函数中允许使用await关键字, 取代then函数, 等待获取Promise对象的结果, 更方便的实现链式调用。异步代码提高了程序的执行效率, 调用后耗时, 但不阻塞代码继续执行, 异步任务完成后, 通过触发回调函数, 得到执行结果。正常情况下, 浏览器按照顺序执行代码, 上一行代码执行完毕再执行下一行代码 , 这就是同步代码。then()方法会返回一个新的Promise对象,可以继续串联下一环任务, 直到任务结束。语句标记可能出错的语句,出错后捕获错误信息, 并执行catch中的代码。原创 2024-05-30 09:00:33 · 589 阅读 · 0 评论 -
[JS]Promise
Promise对象用于管理异步任务, 拿到异步操作的状态和结果优势逻辑更清晰, 不同的状态(成功/失败)关联不同的处理程序了解axios函数内部的运作机制能解决回调函数地狱问题基本使用/*** 目标:使用Promise管理异步任务*/// 1, 创建Promise对象/*** 2, 执行异步任务成功调用resolve()失败调用reject()*/// resolve('模拟成功的异步任务')reject(new Error('模拟失败的异步任务'))原创 2024-05-29 10:00:28 · 490 阅读 · 0 评论 -
[JS]前端图片上传
3. 提交表单数据到服务器, 得到图片URL地址。原创 2024-05-28 09:58:17 · 158 阅读 · 0 评论 -
[JS]Bootstrap图书管理
Bootstrap是一款简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。form-serialize插件,帮助我们快速收集表单元素值。原创 2024-05-27 13:38:38 · 338 阅读 · 0 评论 -
[JS]Axios
// 需求: 请求资源地址, 展示数据到页面axios({})原创 2024-05-26 00:29:38 · 1314 阅读 · 0 评论 -
[JS]AJAX
AJAX是异步的JavaScript和XML, 简单来说就是使用XMLHttpRequest对象与服务器通信它可以使用JSON/XML/HTML/text文本等格式发送和接收数据AJAX最吸引人的就是异步特性, 可以让我们在不刷新页面的情况下与服务器通信。原创 2024-05-25 09:39:58 · 412 阅读 · 0 评论 -
[JS]实用技巧
异常处理是指预估代码执行过程中可能发生的错误, 然后最大程度的避免错误的发生, 提高程序的健壮性。拷贝对象之后, 里面的属性值是简单数据类型直接拷贝值, 如果属性值是引用数据类型拷贝的是地址。bind()方法不会调用函数, 但是能改变函数内部this指向, 返回改造完成的新函数。开发中, 我们经常要复制一个对象, 如果直接赋值, 复制后的对象会依然会影响原对象。实现的只是简单版的深拷贝, 无法应对复杂情况, 比如对象互相引用的情况。语法: fun.bind(this, 参数1, 参数2...)原创 2024-05-24 16:33:45 · 834 阅读 · 0 评论 -
[JS]面向对象(ES5)
ES5实现面向对象编程原创 2024-05-23 08:59:46 · 1190 阅读 · 0 评论 -
[JS]内置构造函数
字符串(String), 数值(Number), 布尔(Boolean), undefiend, null。filter()方法 创建一个新的数组, 新数组中的元素是通过检查指定数组中符合条件的所有元素。检测数组中的所有元素是否满足指定条件, 满足条件返回true, 否则返回false。检测数组中的元素是否满足指定条件, 有则返回true, 没有则返回false。对象(Object), 数组(Array), 函数(Function)字符串, 数值, 布尔等基本类型都有专门的构造函数, 称为包装类型。原创 2024-05-22 09:16:42 · 1046 阅读 · 0 评论 -
[JS]深入对象
创建对象的三种方式: 对象字面量 / new Object / 构造函数构造函数的作用: 批量创建对象实例成员: 实例对象的属性和方法被称为实例成员访问实例成员: 实例对象相互独立, 实例成员通过当前实例对象调用静态成员: 构造函数的属性和方法被称为静态成员访问静态成员: 静态成员只能通过构造函数访问。原创 2024-05-21 12:53:25 · 360 阅读 · 0 评论 -
[JS]解构赋值
需求2: 将函数返回值解构为变量, function getNum() { return [ 100, 20 ] }需求1: 有一个数组 [ '海尔', '联想', '小米', '方正' ], 解构为hr, lx, mi, fz。对象解构是将对象属性和方法快速批量赋值给一系列变量的简洁语法。数组解构是将数组的元素快速批量赋值给一系列变量的简洁语法。需求: 模拟ajax数据, 完成数据解构。使用解构语法可能会遇到的情况。js 前面必须加分号的情况。需求: 完成对象的解构赋值。原创 2024-05-20 08:51:46 · 241 阅读 · 0 评论 -
[JS]函数进阶
引入箭头函数的目的是简化函数写法并且不绑定this, 箭头函数更适用替换匿名函数 (函数表达式)箭头函数出现之前, 函数都是根据它是如何被调用的, 来定义函数的this, 令人讨厌。arguments是函数内部内置的伪数组变量, 它包含了调用函数时传入的所有实参。箭头不会创建自己的this, 而是沿用上一级作用域的this。剩余参数允许我们将一个不定数量的参数表示为一个数组。展开运算符 ( ... ) 可以将一个数组进行展开。提升函数应用的灵活度。原创 2024-05-19 11:11:42 · 244 阅读 · 0 评论 -
[JS]作用域
闭包返回一个函数, 函数一旦调用, 内部变量就会被引用, 所以不会被垃圾回收机制清除, 就会出现函数执行完毕, 但是函数内部变量未被释放的现象。了解作用域对程序执行的影响, 了解作用域链的查找机制, 使用闭包函数创建隔离作用域避免全局变量污染。作用域规定了 变量 能够被 访问 的"范围", 离开了这个"范围", 变量就不能被访问。JS中内存的分配和回收都是自动完成的, 内存在不使用的时候会被垃圾回收器自动回收。概念: 一个函数对周围状态的引用捆绑在一起, 内层函数中访问到其外层函数的作用域。原创 2024-05-18 11:50:33 · 1211 阅读 · 0 评论 -
[JS]正则表达式
正则表达式是定义匹配字符串的规则, 在JS中, 正则表达式也是对象, 通常用于查找或替换符合规则的文本许多语言都支持正则表达式, 在前端中常见的场景就是表单验证和敏感词替换。原创 2024-07-01 08:52:26 · 1816 阅读 · 0 评论 -
[JS]BOM操作
BOM(Browser Object Model)是浏览器对象模型window对象是一个全局对象, 也是JS中的顶级对象通过var定义在全局作用域中的变量和函数都会变成window对象的属性和方法window对象下的属性和方法调用时一般省略window。原创 2024-06-30 11:29:44 · 630 阅读 · 0 评论 -
[JS]M端适配
1, <script src="fastclick.js"></script> //引入文件。//对于不需要窗口放大的项目,直接禁止,就可以解决问题。作用: fastclick用来解决移动端300ms延迟问题, 用于需要窗口放大的项目。移动端有自己独特的地方, 比如触摸事件(touch), android和IOS都有。zy.media.js: 移动端视频插件, 可以实现不同浏览器视频样式的一致化。触摸事件对象: 描述手指在触摸屏幕的状态的变化.4,打开demo实例文件,查看需要引入的相关文件。原创 2024-06-29 08:54:35 · 426 阅读 · 0 评论 -
[JS]节点操作
使开发者可以根据节点的关系获取元素, 而不是只能依赖选择器, 提高了编码的灵活性。childrenNodes: 获取所有的子元素节点(包括文本节点, 注释节点等)nodeTyoe: 节点的类型 (元素节点的nodeTyoe=1)语法: 父元素.insertBefore(元素, 哪个元素前面);children: 获取所有子元素节点, 返回一个伪元素。语法: 父元素.removeChild(要删除的元素);语法: 父元素.appendChild(元素)作用: 把元素插入到父元素的最后面。原创 2024-06-28 08:47:46 · 419 阅读 · 0 评论 -
[JS]DOM事件
offset翻译过来就是偏移量, 主要用来获取元素相对于父元素的位置 或者 元素的真实宽高。事件流就是事件完整执行的过程, 分为事件捕获阶段, 处于目标阶段, 事件冒泡阶段。利用事件冒泡的特点, 把事件注册在父元素身上, 让子元素通过冒泡触发父元素的事件。事件三要素: 事件源(谁的事件) 事件类型(如何触发) 事件处理程序(做什么)移入移出事件: hover //写两个函数,,逗号隔开,用来区分悬停和离开。当一个元素触发事件后, 会依次向上调用所有父级元素的同名事件。原创 2024-06-27 08:42:53 · 1012 阅读 · 0 评论 -
[JS]DOM元素
盒子原创 2024-06-26 08:39:34 · 386 阅读 · 0 评论 -
[JS]对象
对象是一种无序的数据集合, 可以详细的描述某个事物事物的特征在对象中用属性来表示, 事物的行为在对象中用方法来表示。原创 2024-06-25 08:55:08 · 725 阅读 · 0 评论 -
[JS]函数
函数就是用来执行特点任务的代码块, 目的是实现代码复用, 提高开发效率。原创 2024-06-24 10:06:53 · 365 阅读 · 0 评论 -
[JS]语句
代码分类表达式: 可以被求值的代码称为表达式, 可以用于赋值语句: 一段可执行的代码, 可以有结果, 可以没有结果, 不能用于赋值语句分类代码从上往下执行, 称为顺序结构代码按照条件选择执行, 称为分支结构某些代码被重复执行, 成为循环结构。原创 2024-06-23 13:12:07 · 352 阅读 · 0 评论 -
[JS]数据类型
在计算中一切事物都是数据, 为了提高数据的存储和使用效率, 要对数据进行类型的分类栈(操作系统): 由操作系统自动分配释放函数的参数值, 局部变量的值等, 其操作方式类似于数据结构中的栈;基本数据类型存放在栈里面堆(操作系统): 储存复杂类型(对象), 一般由程序员分配释放, 若程序员不释放,由垃圾回收机制回收;引用数据类型存放在堆里面。原创 2024-06-22 09:17:06 · 2428 阅读 · 0 评论 -
[JS]数组
数组是一种可以按顺序保存数据的数据类型//1.声明数组 (构造函数)let arr = new Array() //创建空数组let arr = new Array(1,2,3,4) //创建数组并赋值。//2.声明数组 (数组字面量)let arr = [] //创建空数组let arr= [1,2,3,4] //创建数组并赋值//3.访问数组// 通过下标获取数组数据// 数组名[下标]arr[0]//4.获取数组长度 (length)arr.length。原创 2024-06-21 10:36:14 · 196 阅读 · 0 评论 -
[JS]变量
最开始JavaScript是使用var关键字声明变量, ES6之后统一使用let关键字声明变量。程序在内存中申请的一块用来存放数据的小空间。使用const声明的变量称为"常量"变量就是计算机储存数据的"容器"建议, 业内通识和最佳实践。必须遵守, 不然报错。原创 2024-06-20 08:57:52 · 371 阅读 · 0 评论 -
[JS]前置介绍
标签包裹。引入:原创 2024-06-19 08:55:55 · 1027 阅读 · 0 评论 -
[JS]学习前言
求职 -> 简历/面试 -> 晋升 -> 团队管理 -> 职业发展 -> 副业 -> 创业。页面 -> 组件化 -> 工程化 -> 全栈 -> 跨端跨栈 -> 架构。💡 Tips:不谋全局者不足以谋一域。了解职业规划和技术发展。💡 Tips:重要节点。原创 2024-06-18 23:27:48 · 297 阅读 · 0 评论