
js
文章平均质量分 68
为何学习 JavaScript?
JavaScript 是 web 开发者必学的三种语言之一:
HTML 定义网页的内容
CSS 规定网页的布局
JavaScript 对网页行为进行编程
本教程提供关于 JavaScript,以及 JavaScript 如何与 HTML 和 CSS 协同工作的知识
软件技术NINI
五年资深网页设计与制作。鞭策自己让自己称为优秀的人,多像前辈讨教多学习,不堕落自己,不忘初心
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JavaScript 中字符串和数组的概念解析与多角度对比区分
**排序与反转**:数组可以使用`sort()`方法对元素进行排序,而字符串可以通过`split()`和`join()`方法实现类似的效果。- **添加与删除**:数组支持使用`push()`、`pop()`、`unshift()`和`shift()`方法添加或删除元素,而字符串则没有这些方法。- **转换**:字符串可以使用`split()`方法转换为数组,而数组可以使用`join()`方法转换为字符串。- **字符串**:不可变,任何对字符串的操作都会返回一个新的字符串,原始字符串不会被修改。原创 2024-11-19 12:02:47 · 210 阅读 · 0 评论 -
JavaScript编程题目,从基础到进阶不等,可以帮助你巩固JavaScript的知识和编程技能
编写一个函数,该函数接受一个已排序的数组和一个目标值作为参数,如果数组中存在该目标值,则返回它的索引;编写一个函数,该函数接受一个字符串作为参数,并返回一个新字符串,其中原字符串中的所有单词都被反转,但单词间的空格保持不变。编写一个函数,该函数接受一个数组作为参数,返回一个新数组,其中包含原数组中所有不重复的元素,并且这些元素按照升序排列。然后编写一个函数,该函数可以在整棵树中搜索特定值,并返回包含该值的所有节点的路径列表。编写一个简单的事件管理器,支持事件的发布(emit)和订阅(on)功能。原创 2024-09-02 10:20:38 · 952 阅读 · 0 评论 -
【前端新手小白】学习Javascript的【开源好项目】推荐
**简介**: 虽然不是一个 GitHub 项目,但 Frontend Mentor 提供了许多真实的项目挑战,可以帮助你练习 HTML, CSS 和 JavaScript。- **简介**: 这是一个由 Wes Bos 创建的 30 天 JavaScript 挑战项目,每天都有一个小项目,你可以在其中练习和应用 JavaScript。你可以通过参与其开源项目来实践你的 JavaScript 技能。- **简介**: 这是一个帮助初学者开始开源贡献的项目,提供了一系列简单的任务,适合刚接触开源的新手。原创 2025-01-13 10:32:02 · 673 阅读 · 4 评论 -
JavaScript涉及函数概念的题目
虽然这个问题主要是关于变量操作的,但在解决它时,可能会通过定义一个或多个辅助函数来简化代码。:这个题目本身就是关于函数式编程中的柯里化概念的,需要实现一个函数来创建柯里化函数。:虽然这是一个较大的项目,但其中会包含多个函数来处理路由、中间件、请求/响应等逻辑。:虽然柯里化本身是关于函数式编程的,但在实现时可能会涉及到迭代地应用参数到函数上。注意,有些题目可能既涉及到函数也涉及到迭代,因为函数是实现迭代逻辑的一种常用方式。:定义一个类(可以看作是一个特殊的函数或对象)来包含事件发布和订阅的逻辑。原创 2024-09-02 10:23:47 · 879 阅读 · 0 评论 -
ecmascript和javascript的区别
总结一下,ECMAScript是一种脚本语言标准,而JavaScript是基于这个标准开发出来的具体编程语言。在实际开发中,我们通常使用JavaScript来编写Web应用程序、浏览器插件等,并且遵循ECMAScript定义的规范。JavaScript包含了ECMAScript标准定义的语法和特性,并且还添加了浏览器端和Node.js等环境提供的额外功能。ECMAScript和JavaScript之间的关系是这样的:ECMAScript是一种标准,而JavaScript是实现了这个标准的编程语言。原创 2024-09-15 00:00:00 · 555 阅读 · 0 评论 -
js题目大全(1)
这些练习题涵盖了递归、树形结构处理、数据过滤、合并、路径计算等不同的应用场景,可以帮助你更深入理解递归算法以及树结构的相关操作。任务:给定一个分类树结构,某些节点具有相同的 label,将这些节点合并到一个节点下,并且子节点也合并起来。任务:编写一个递归函数,将树形结构“平坦化”成一个单层数组,数组中的每个元素是树中的一个节点。任务:给定一个树形结构,每个节点代表一个目录,编写递归函数生成所有文件夹的完整路径列表。任务:给定一个树形结构和目标节点的名称,编写递归函数查找并返回从根节点到目标节点的路径。原创 2024-11-22 16:51:32 · 256 阅读 · 0 评论 -
JavaScript 练习题是提升编程技能的好方法
JavaScript 练习题是提升编程技能的好方法。下面我为你准备了一系列从基础到进阶的 JavaScript 练习题,帮助你巩固和扩展你的知识。原创 2024-09-01 23:03:18 · 604 阅读 · 0 评论 -
2023年最新JavaScript 基础面试题
循环来遍历数组,这种循环在ES6及更高版本的JavaScript中非常流行,因为它提供了更简洁的语法来遍历可迭代对象(如数组、字符串、Map、Set等)。循环的例子中,你不需要手动管理索引或计数器,因为循环会为你自动遍历数组中的每个元素,并将当前元素的值赋给循环变量(在这个例子中是。当然可以,以下是一个使用循环的简单JavaScript示例。在每次循环结束时将计数器增加1,以便在下一次迭代中访问数组的下一个元素。循环来遍历一个数组,并打印出数组中的每个元素。这使得代码更加简洁和易于理解。原创 2024-09-02 17:59:16 · 401 阅读 · 0 评论 -
ecmascript和javascript的区别
总结来说,JavaScript 是一种编程语言,而 ECMAScript 则是这门语言的标准规范。JavaScript 实际上是对 ECMAScript 标准规范的一个具体实现,并且通常会支持最新版本的 ECMAScript 规范。- JavaScript 实际上是对 ECMAScript 规范的一个具体实现,并且通常会支持最新版本的 ECMAScript 规范。- JavaScript 是 ECMAScript 的一种实现,其他实现还包括 ActionScript(Flash 中使用)等。原创 2024-09-26 00:00:00 · 626 阅读 · 0 评论 -
js笔记合集
定义:JS是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。应用网页特效:监听用户的一些行为让网页作出对应的反馈。表单验证:针对表单数据的合法性进行判断。数据交互:获取后台的数据,渲染到前端。服务端编程(如Node.js)。组成ECMAScript:规定了JS基础语法核心知识,比如变量、分支语句、循环语句、对象等。Web APIs:包括DOM(文档对象模型)和BOM(浏览器对象模型)。DOM操作文档,比如对页面元素进行移动、大小、添加删除等操作;原创 2024-10-31 18:28:58 · 473 阅读 · 0 评论 -
涉及字符串处理和对象操作的 JavaScript 计算题目
【代码】涉及字符串处理和对象操作的 JavaScript 计算题目。原创 2024-11-22 16:41:36 · 102 阅读 · 0 评论 -
2023年最新JavaScript 基础面试题
使用原生JavaScript或WebSocket库,编写一个WebSocket客户端,连接到指定的服务器,并处理接收到的消息。编写一个异步队列,支持添加任务和批量执行任务的功能。每个任务都是一个异步函数,队列需要保证任务按照添加的顺序执行。类似于Express.js的路由功能,但使用原生JavaScript和Node.js的HTTP模块来实现。定义一个树节点类,并在该类中实现一个方法来搜索树中是否存在某个值。原创 2024-09-02 17:19:48 · 393 阅读 · 0 评论 -
编写一个函数,接受一个对象数组参数,返回所有对象中特定属性的值的总和
注意:这里假设属性值是可以进行加法运算的(如数字、字符串表示的数字等)如果不包含,可以选择忽略或添加其他逻辑(例如,抛出错误或记录日志)对于非数值类型,你可能需要额外的转换或错误处理。检查当前对象是否包含指定属性。如果是,则将属性值加到总和中。原创 2024-08-22 15:22:51 · 282 阅读 · 0 评论 -
以下是一些 JavaScript 相关的题目,涵盖了不同的难度级别和主题。这些题目可以帮助您练习和提高 JavaScript 编程技能。
编写一个函数 `myPromiseAll(promises)`,接受一个 Promise 数组,返回一个新的 Promise,该 Promise 在所有输入的 Promise 都成功时成功,并返回它们的结果数组。编写一个函数 `removeDuplicates(arr)`,接受一个数组,返回一个新的数组,其中不包含重复的元素。编写一个函数 `findMinMax(arr)`,接受一个数字数组,返回一个对象,其中包含最大值和最小值。编写一个函数 `deepClone(obj)`,实现对象的深拷贝。原创 2024-11-05 16:46:38 · 460 阅读 · 0 评论 -
什么是JavaScript
JavaScript是一种动态的编程语言,广泛应用于网页开发中,主要用于增强网页的和。作为开发的之一,它与和共同协作,HTML负责定义网页的内容结构,CSS处理样式和布局,而JavaScript则控制网页的行为和交互。用户可以利用JavaScript进行事件处理、表单验证、动画创建等多种功能。此外,JavaScript的应用已经扩展到服务器端(如Node.js)、移动应用开发和游戏开发等领域,成为现代编程环境中不可或缺的一部分。原创 2024-12-09 09:55:44 · 1107 阅读 · 1 评论 -
JavaScript typeof
/ 值是 undefined,类型也是 undefined。// 值是 undefined,类型也是 undefined。// 值是 "",类型是 "string"你可以认为它是 JavaScript 中的一个 bug,运算符来确定 JavaScript 变量的数据类型。原始数据值指的是没有附加属性和方法的单个简单数据值。在 JavaScript 中,没有值的变量的值是。,因为在 JavaScript 中数组是对象。运算符不会为函数返回 "object"。不幸的是,在 JavaScript 中,原创 2024-08-16 00:20:02 · 571 阅读 · 0 评论 -
.JS之DOM DOM简介
JS中的DOM(Document Object Model,文档对象模型)是Web开发中用于表示和操作HTML或XML文档的标准接口。它提供了一种在代码中动态访问和更新文档内容、结构和样式的方式。原创 2025-01-02 08:38:56 · 148 阅读 · 2 评论 -
JS基础 Javascript介绍 JavaScript基本语法
发展史:JavaScript起源于Netscape公司与微软的浏览器大战,后由欧洲计算机制造商协会(ECMA)标准化,制定了ECMAScript标准。功能:JavaScript能够增强用户和HTML页面的交互过程,控制HTML元素,实现页面动态效果,提升用户体验。组成ECMAScript(简称ES):JavaScript的核心语法和基本对象。DOM(文档对象模型):用于操作网页文档。BOM(浏览器对象模型):用于操作浏览器功能。原创 2024-12-31 08:30:00 · 174 阅读 · 3 评论 -
第7 章 迭代器与生成器
与Iterable 接口类似,任何实现Iterator 接口的对象都可以作为迭代器使用。下面这个例子中的Counter 类只能被迭代一定的次数:这个类实现了Iterator 接口,但不理想。这是因为它的每个实例只能被迭代一次:为了让一个可迭代对象能够创建多个迭代器,必须每创建一个迭代器就对应一个新计数器。为此,可以把计数器变量放到闭包里,然后通过闭包返回迭代器:每个以这种方式创建的迭代器也实现了Iterable 接口。Symbol.iterator 属性引用的工厂函数。原创 2024-10-10 08:45:00 · 916 阅读 · 0 评论 -
JavaScript第5 章 基本引用类型
本章内容 理解对象 基本JavaScript 数据类型 原始值与原始值包装类型引用值(或者对象)是某个特定引用类型的实例。在ECMAScript 中,引用类型是把数据和功能组织到一起的结构,经常被人错误地称作“类”。虽然从技术上讲JavaScript 是一门面向对象语言,但ECMAScript 缺少传统的面向对象编程语言所具备的某些基本结构,包括类和接口。引用类型有时候也被称为对象定义,因为它们描述了自己的对象应有的属性和方法。原创 2024-10-10 09:00:00 · 586 阅读 · 0 评论 -
第9 章 代理与反射
使用代理的主要目的是可以定义捕获器(trap)。捕获器就是在处理程序对象中定义的“基本操作的拦截器”。每个处理程序对象可以包含零个或多个捕获器,每个捕获器都对应一种基本操作,可以直接或间接在代理对象上调用。每次在代理对象上调用这些基本操作时,代理可以在这些操作传播到目标对象之前先调用捕获器函数,从而拦截并修改相应的行为。注意 捕获器(trap)是从操作系统中借用的概念。在操作系统中,捕获器是程序流中的一个同步中断,可以暂停程序流,转而执行一段子例程,之后再返回原始程序流。原创 2024-10-11 10:30:00 · 1018 阅读 · 0 评论 -
JavaScript 第3 章 语言基础
本章内容 语法 数据类型 流控制语句 理解函数任何语言的核心所描述的都是这门语言在最基本的层面上如何工作,涉及语法、操作符、数据类型以及内置功能,在此基础之上才可以构建复杂的解决方案。如前所述,ECMA-262以一个名为ECMAScript的伪语言的形式,定义了JavaScript 的所有这些方面。ECMA-262 第5 版(ES5)定义的ECMAScript,是目前为止实现得最为广泛(即受浏览器支持最好)的一个版本。原创 2024-10-09 10:11:35 · 1203 阅读 · 0 评论 -
JavaScript第4 章 变量、作用域与内存
这么一个简单的修改,极大地提升了重度依赖JavaScript 的网页在浏览器中的性能。比如,根据V8 团队2016 年的一篇博文的说法:“在一次完整的垃圾回收之后,V8 的堆增长策略会根据活跃对象的数量外加一些余量来确定何时再次垃圾回收。为了补救这一点,IE9 把BOM和DOM对象都改成了JavaScript 对象,这同时也避免了由于存在两套垃圾回收算法而导致的问题,还消除了常见的内存泄漏现象。垃圾回收过程是一个近似且不完美的方案,因为某块内存是否还有用,属于“不可判定的”问题,意味着靠算法是解决不了的。原创 2024-10-09 09:49:10 · 1082 阅读 · 0 评论 -
第6 章 集合引用类型
从各方面来看,Set 跟Map 都很相似,只是API 稍有调整。唯一需要强调的就是集合的API 对自身的简单操作。很多开发者都喜欢使用Set 操作,但需要手动实现:或者是子类化Set,或者是定义一个实用函数库。要把两种方式合二为一,可以在子类上实现静态方法,然后在实例方法中使用这些静态方法。在实现这些操作时,需要考虑几个地方。 某些Set 操作是有关联性的,因此最好让实现的方法能支持处理任意多个集合实例。 Set 保留插入顺序,所有方法返回的集合必须保证顺序。原创 2024-10-10 08:30:00 · 951 阅读 · 0 评论 -
第8 章 对象、类与面向对象编程
在一个对象上同时定义多个属性的可能性是非常大的。为此,ECMAScript 提供了Object.define-Properties()方法。这个方法可以通过多个描述符一次性定义多个属性。它接收两个参数:要为之添加或修改属性的对象和另一个描述符对象,其属性与要添加或修改的属性一一对应。比如:这段代码在book 对象上定义了两个数据属性year_和edition,还有一个访问器属性year。最终的对象跟上一节示例中的一样。唯一的区别是所有属性都是同时定义的,并且数据属性的。原创 2024-10-11 08:30:00 · 814 阅读 · 0 评论 -
第2 章 HTML 中的JavaScript
本章内容 使用<script>元素 行内脚本与外部脚本的比较 文档模式对JavaScript 有什么影响 确保JavaScript 不可用时的用户体验将JavaScript 引入网页,首先要解决它与网页的主导语言HTML 的关系问题。在JavaScript 早期,网景公司的工作人员希望在将JavaScript 引入HTML 页面的同时,不会导致页面在其他浏览器中渲染出问题。通过反复试错和讨论,他们最终做出了一些决定,并达成了向网页中引入通用脚本能力的共识。原创 2024-10-09 09:57:09 · 835 阅读 · 0 评论 -
HTML、CSS 和 JavaScript轮播图
【代码】 HTML、CSS 和 JavaScript轮播图。原创 2024-11-22 09:59:58 · 233 阅读 · 0 评论 -
第3 章 语言基础
位中的每一位都代表2 的幂。不过,在对数值调用这个方法时,toString()可以接收一个底数参数,即以什么底数来输出数值的字符串表示。尽管听起来跟私有属性有点类似,但符号并不是为了提供私有属性的行为才增加的(尤其是因为 Object API 提供了方法,可以更方便地发现符号属性)。全局注册表中的符号必须使用字符串键来创建,因此作为参数传给Symbol.for()的任何值都会被转换为字符串。Object.defineProperty()/Object.defineProperties()定义的属性。原创 2024-09-30 10:12:09 · 798 阅读 · 0 评论 -
第1 章 什么是JavaScript
微软的JavaScript 实现意味着出现了两个版本的JavaScript:Netscape Navigator 中的JavaScript,以。Firefox 3+支持全部的Level 1、几乎全部的Level 2,以及Level 3 的某些部分。虽然JavaScript 和ECMAScript 基本上是同义词,但JavaScript 远远不限于ECMA-262 所定义的那样。当时ECMA-262 还没制定完成,因此JScript 3.0 遭受了与JavaScript 1.2 同样的命运,它同样没。原创 2024-09-30 09:41:21 · 1413 阅读 · 0 评论 -
js知识总结
JavaScript(JS)是一种广泛使用的编程语言,主要用于网页开发,但也适用于非浏览器环境(如Node.js)。它支持面向对象、命令式、声明式(如通过函数式编程)和事件驱动式编程风格。原创 2024-09-09 11:23:54 · 812 阅读 · 0 评论 -
Vue计算属性(computed)的使用方法及使用场景总结
在Vue中,computed属性是基于它们的响应式依赖进行缓存的。只有当相关响应式依赖发生改变时,它们才会重新求值。这是Vue中一个非常强大的特性,它使得我们可以在模板中声明式地描述数据的转换,而不需要手动编写更新DOM的逻辑。原创 2024-09-06 17:06:40 · 679 阅读 · 0 评论 -
JS中forEach()方法的使用
forEach()方法在JavaScript中是一个数组方法,它允许你对数组的每个元素执行一个提供的函数。forEach()方法按照升序(即索引顺序)为数组中的每个元素执行一次提供的函数,并且不直接修改原始数组(尽管回调函数中可以修改数组的元素)。但是,请注意,forEach()方法对空数组不会执行回调函数。原创 2024-09-05 11:57:38 · 544 阅读 · 0 评论 -
JS中filter()方法的使用
"Filter" 这个词在不同的上下文中有多种含义,但基本上都涉及到某种形式的筛选、选择或去除不需要的部分。总之,"filter" 是一个多义词,其具体含义取决于上下文。在大多数情况下,它都与某种形式的筛选、选择或去除不需要的部分有关。原创 2024-09-05 11:55:42 · 822 阅读 · 0 评论 -
EventBus使用详解
创建一个简单的Java类作为事件对象,该类通常只包含要传递的数据和相应的getter/setter方法。原创 2024-09-01 23:08:40 · 1441 阅读 · 0 评论 -
JavaScript 对象构造器
用大写首字母对构造器函数命名是个好习惯。原创 2024-08-27 00:00:00 · 824 阅读 · 0 评论 -
JavaScript 对象访问器
使用 getter 和 setter 时,JavaScript 可以确保更好的数据质量。例子 1 以函数形式访问 fullName:person.fullName()。例子 2 以属性形式访问 fullName:person.fullName。Getter 和 Setter 允许您定义对象访问器(被计算的属性)。第二个例子提供了更简洁的语法。下面两个例子的区别在哪里?原创 2024-08-26 14:54:26 · 340 阅读 · 0 评论 -
JavaScript 显示对象
必须在循环中使用 person[x]。person.x 将不起作用(因为 x 是一个变量)。任何 JavaScript 对象都可以使用 JavaScript 函数。如果在字符串化之前将函数转换为字符串,这可以是“固定的”。显示 JavaScript 对象将输出。进行字符串化(转换为字符串)原创 2024-08-26 11:19:44 · 647 阅读 · 0 评论 -
JavaScript 对象方法
您通常会把 fullName() 描述为 person 对象的方法,把 fullName 描述为属性。fullName 属性在被通过 () 调用后会以函数形式执行。的事物,指的是拥有该 JavaScript 代码的对象。此例访问 person 对象的 fullName()JavaScript 方法是能够在对象上执行的动作。的值,在函数中使用时,是“拥有”该函数的对象。在 JavaScript 中,被称为。方法是存储为对象属性的函数。原创 2024-08-25 11:18:49 · 383 阅读 · 0 评论 -
JavaScript 对象属性
属性指的是与 JavaScript 对象相关的值。JavaScript 对象是无序属性的集合。属性通常可以被修改、添加和删除,但是某些属性是只读的。delete关键词不会删除被继承的属性,但是如果您删除了某个原型属性,则将影响到所有从原型继承的对象。在 JavaScript 中,所有属性都是可读的,但是只有值是可修改的(只有当属性为可写时)。这些特性定义了属性被访问的方式(是可读的还是可写的?您可以通过简单的赋值,向已存在的对象添加新属性。JavaScript对象继承了他们的原型的属性。原创 2024-08-25 11:17:49 · 319 阅读 · 0 评论 -
javaScript对象定义
stringnumberbooleannullundefined原始值是一成不变的(它们是硬编码的,因此不能改变)x = 3.14,能够改变 x 的值。但是无法改变 3.14 的值。值类型注释"Hello"string"Hello" 始终是 "Hello"3.14number3.14 始终是 3.14truebooleantrue 始终是 truefalsebooleanfalse 始终是 falsenullnull。原创 2024-08-23 14:41:01 · 592 阅读 · 0 评论