javascript
577wq
热爱技术
展开
-
js的preventDefault()
当用户与页面进行交互时,比如点击链接、提交表单等,浏览器会根据事件的默认行为执行相应的操作。但有时候我们希望在事件发生时取消默认行为,这时就可以使用。方法只能阻止事件的默认行为,但并不会停止事件的传播(冒泡或捕获)。如果需要完全停止事件的传播,可以使用。方法,阻止了链接的默认跳转行为。方法通常用于事件处理函数中,它可以阻止事件的默认行为发生,从而实现自定义的操作。在上述示例中,当用户点击链接时,事件处理函数被触发。是一个 JavaScript 方法,常用于阻止事件的默认行为。// 阻止链接的默认跳转行为。原创 2023-07-12 16:12:23 · 1416 阅读 · 0 评论 -
js如何修改this的值,call,apply,bind
显式地修改函数的this。原创 2023-07-11 09:00:29 · 208 阅读 · 0 评论 -
js 的 filter、reduce、some、every、map等高阶函数
在 JavaScript 中,map,.filter、reduce、some 、every 和map 都是数组的高阶函数,它们提供了一种方便的方式来遍历和处理数组。这些高阶函数提供了一种简洁而功能强大的方式来遍历和处理数组。通过使用它们,可以根据特定的需求对数组进行筛选、累加、判断等操作,使代码更加简洁、可读和易于维护。原创 2023-07-11 08:59:16 · 96 阅读 · 0 评论 -
js的数组解构
通过了解和运用这些概念,你可以利用数组解构从数组中提取所需的值,并将它们分配给单独的变量。数组解构提供了一种简洁、灵活的方式来处理数组数据,使代码更具可读性和可维护性。原创 2023-07-10 07:48:41 · 1844 阅读 · 0 评论 -
js 需要加分号的情况
【代码】js 需要加分号的情况。原创 2023-07-10 07:48:22 · 240 阅读 · 0 评论 -
js的对象解构
【代码】js的对象解构。原创 2023-07-10 07:47:54 · 195 阅读 · 0 评论 -
js遍历数组的方式
通过选择适当的遍历方式,可以根据具体需求对数组进行操作和处理。使用高阶函数可以更加灵活和简洁地进行数组的遍历和操作。在 JavaScript 中,有多种方式可以遍历数组,根据需求和使用场景选择合适的方式。原创 2023-07-10 07:47:15 · 119 阅读 · 0 评论 -
js的reduce函数
是 JavaScript 中的一个高阶函数,用于对数组中的元素进行累积计算并返回一个最终结果。它接受一个累加器函数和一个可选的初始值作为参数。方法可以用于许多其他类型的累积计算,如平均值、求乘积、统计频次等。它提供了一种简洁而强大的方式来处理数组的累积操作。原创 2023-07-10 07:46:24 · 298 阅读 · 0 评论 -
js的正无穷‘Infinity‘和负无穷‘-Infinity‘表示
需要注意的是,正无穷和负无穷都是数值类型。它们在数学运算中具有特殊的性质,例如任何实数与正无穷相乘得到正无穷,与负无穷相乘得到负无穷,正无穷与负无穷相加得到 NaN(不是一个数)等。使用正无穷和负无穷可以处理超出 JavaScript 数值范围的情况,例如除以零、数值溢出等。正无穷和负无穷在某些数学计算和条件判断中非常有用,可以帮助处理特殊的情况和边界条件。在 JavaScript 中,正无穷和负无穷用特殊的全局属性来表示。原创 2023-07-10 07:45:41 · 1119 阅读 · 0 评论 -
js的this
是一个特殊的关键字,它在函数执行时指向当前函数的上下文对象。需要注意的是,如果函数在不同的环境中以不同的方式调用,绑定的一些常见问题,但需要注意箭头函数没有自己的。,需要注意函数的调用方式和上下文,并了解。的值取决于函数的调用方式和上下文。此外,使用箭头函数可以避免。在 JavaScript 中,方法来显式地修改函数的。,它会继承外部上下文的。原创 2023-07-10 07:46:43 · 60 阅读 · 0 评论 -
js的箭头函数
JavaScript中的箭头函数(Arrow Functions)是一种简洁的函数表达式形式,引入了更简单的语法来定义函数。需要注意的是,箭头函数适用于简单的函数表达式,但在某些情况下可能不适用于复杂的函数逻辑。此外,由于箭头函数没有自己的。在这些情况下,传统的函数声明或函数表达式更适合使用。简洁的语法:箭头函数使用更简洁的语法来定义函数,省略了。这些箭头函数的语法更简洁,使得代码更易读和编写。自动绑定this:箭头函数没有自己的。在上述示例中,我们使用箭头函数定义了。对象:箭头函数没有自己的。原创 2023-07-07 14:26:53 · 205 阅读 · 0 评论 -
js的展开运算符
JavaScript中的展开运算符(Spread Operator)用于展开可迭代对象(如数组、字符串等)为独立的元素,或者用于将多个元素合并为一个数组或对象。展开运算符可以在很多情况下提供便利和简洁的写法,例如将数组元素作为函数的参数传递、合并数组或对象等。它是一种在处理数组和对象时很有用的语法特性。展开运算符使用三个连续的点号(展开为独立的元素,输出为。展开,并合并为一个新数组。展开,并添加新的属性。原创 2023-07-07 11:57:50 · 1259 阅读 · 0 评论 -
js的剩余参数
通过使用剩余参数,函数能够灵活地处理不同数量的参数,而无需提前声明具体的参数个数。剩余参数的数组可以在函数体内进行迭代和处理,使函数更加通用和适应不同的使用场景。在 JavaScript 中,剩余参数(Rest Parameters)是一种允许函数接受不确定数量的参数的语法。剩余参数使用三个连续的点号(,它可以接受任意数量的参数,并将它们存储在一个数组中。)和一个标识符来表示,该标识符将会成为一个数组,包含所有传递给函数的额外参数。在示例中,我们分别传递了 3 个参数和 4 个参数进行测试。原创 2023-07-07 11:53:09 · 299 阅读 · 0 评论 -
js的动态参数
动态参数(Dynamic Parameters)是指在函数定义时无法确定参数的个数,而是在函数调用时根据实际情况动态传入的参数。对象或剩余参数语法都可以实现动态参数的处理,具体使用哪种方式取决于个人的偏好和需求。剩余参数语法在语法上更加直观和灵活,而。对象则具有更广泛的兼容性,适用于旧版本的JavaScript或在需要使用函数内部的参数个数时。的数组,其中存储了传递的动态参数。在函数体内部,我们可以使用循环迭代输出所有参数的值。对象或使用剩余参数语法来实现动态参数。函数使用剩余参数语法定义了一个名为。原创 2023-07-07 11:53:17 · 1393 阅读 · 0 评论 -
js 的变量和函数提升
建议在代码中始终在作用域的顶部声明变量和函数,以提高可读性和可维护性。需要注意的是,变量提升是在编译阶段发生的,并不意味着实际的代码顺序被改变。代码的书写顺序仍然是保持不变的,只是在代码执行之前变量和函数的声明被提升。声明的变量,它们在声明之前是不可访问的,这种行为被称为"暂时性死区(Temporal Dead Zone,TDZ)",而不是像。JavaScript中的变量提升是指在代码执行之前,JavaScript引擎将变量和函数的。的声明被提升,但是赋值操作在之后才执行。关键字声明的变量和使用。原创 2023-07-07 11:11:14 · 188 阅读 · 0 评论 -
js如何释放闭包资源及案例
这个例子展示了如何停止定时器、移除事件监听器,并解除对闭包中的资源引用,从而释放闭包资源。记住,这只是一个示例,具体的实现方式会根据实际情况而有所不同。确保在不再需要闭包时及时释放资源,以避免内存泄漏和性能问题。将相互引用的对象或变量的引用设置为。:如果闭包中包含定时器或事件监听器,确保在不需要时停止它们的执行。通过返回一个函数,我们可以在适当的时候调用它来释放闭包资源。函数创建了一个闭包,包含了定时器和事件监听器以及对。:确保不再持有对闭包的引用,将其相关变量设置为。函数释放闭包资源,并将其设置为。原创 2023-07-07 11:04:30 · 956 阅读 · 0 评论 -
js 的闭包
当一个函数内部定义了另一个函数,并且内部函数引用了外部函数的变量时,就形成了一个闭包。闭包使得内部函数可以访问外部函数的变量,即使在外部函数执行结束后,内部函数仍然可以访问这些变量。如果闭包一直存在,那么外部函数中的变量也无法被垃圾回收,可能会占用过多的内存。:通过闭包可以创建私有变量,只有通过内部函数才能访问和修改这些变量,外部无法直接访问。:通过闭包可以创建延迟执行的函数,将某个函数以及它所需的参数保存在闭包中,稍后再执行。:使用闭包可以创建独立的模块,将变量和函数封装在闭包中,避免全局命名空间污染。原创 2023-07-07 10:57:44 · 56 阅读 · 0 评论 -
js 的垃圾回收机制
当一个对象的引用被删除时,引用计数减一。它通过追踪对象之间的引用关系来确定哪些对象是可达的(被程序所使用),而哪些对象是不可达的(垃圾)。JavaScript中的垃圾回收(Garbage Collection,简称GC)机制是自动管理内存的过程,它负责检测不再被程序使用的内存,并将其释放以供其他用途。除了标记-清除算法,现代的JS引擎通常还采用了其他优化技术,如分代回收(Generational Collection)和增量回收(Incremental Collection),以提高垃圾回收的效率和性能。原创 2023-07-07 10:41:27 · 86 阅读 · 0 评论 -
js 的作用域及作用域链
当代码中使用一个变量时,JavaScript引擎首先在当前作用域中查找,如果找不到,就会向上一级作用域查找,直到找到变量或抵达全局作用域为止。在浏览器中,全局作用域通常是指在全局范围内定义的变量和函数,它们可以被任何函数或代码块中的其他部分访问。这样,内部函数可以访问外部函数的变量和函数,但外部函数无法访问内部函数的变量和函数。在函数或代码块内部定义的变量和函数只能在该函数或代码块内部访问,无法在外部访问。JavaScript中有两种主要的作用域:全局作用域和局部作用域。原创 2023-07-07 10:11:33 · 68 阅读 · 0 评论 -
js 定时器
JavaScript 中的定时器(Timer)是一种机制,用于在指定的时间间隔之后执行代码或者在指定的时间点执行代码。通过使用定时器函数,可以实现各种延迟执行或周期性执行的需求,例如执行动画、定时更新数据等。是执行的时间间隔,以毫秒为单位。指定的代码会在每个时间间隔结束时执行。在延迟时间到达后,指定的代码会被执行。第一个参数是一个函数,表示要执行的代码。第一个参数是一个函数,表示要执行的代码。函数用于在指定的时间间隔内反复执行一段代码。函数用于在指定的时间延迟后执行一次代码。原创 2023-07-06 16:22:02 · 3323 阅读 · 0 评论 -
js DOM 的 innerText 和 innerHTML
时应当注意安全性,避免将不受信任的内容直接插入到 HTML 中,以防止潜在的安全风险(如跨站脚本攻击)。是一个属性,用于获取或设置元素的 HTML 内容。它返回元素及其子元素的 HTML 标记字符串,包括 HTML 标签和文本内容。是一个属性,用于获取或设置元素的纯文本内容。它会返回元素及其子元素的文本内容,但不包含任何 HTML 标签。或创建 DOM 元素,并使用安全的方法进行内容的设置和替换。也是一个可写属性,可以用来修改元素的 HTML 内容。是一个可写属性,可以用来修改元素的文本内容。原创 2023-07-06 16:08:15 · 234 阅读 · 0 评论 -
js 的值类型和引用类型
引用类型的值存储在堆内存中,变量实际上保存的是对存储位置的引用。多个变量引用同一个对象时,它们引用的是同一个对象,修改一个变量可能会影响其他变量。这些值类型在赋值和传递参数时是通过复制值的方式进行操作,每个变量都有自己的独立存储空间,修改一个变量不会影响另一个变量。在 JavaScript 中,值(数据)可以分为两种类型:值类型(基本类型)和引用类型。返回 “object” 是一个历史上的 bug,实际上 null 是一个特殊的值类型。在 JavaScript 中,判断值类型和引用类型可以使用。原创 2023-07-06 15:30:30 · 282 阅读 · 0 评论 -
js的逻辑中断
:当使用逻辑与运算符时,如果第一个操作数为假值,则返回第一个操作数;如果第一个操作数为真值,则返回第二个操作数。如果第一个操作数已经确定为假值,那么不会对第二个操作数进行求值,从而实现逻辑中断。):当使用逻辑或运算符时,如果第一个操作数为真值,则返回第一个操作数;如果第一个操作数已经确定为真值,那么不会对第二个操作数进行求值,从而实现逻辑中断。通过利用逻辑中断,可以避免不必要的计算或副作用的发生,提高代码的执行效率。在 JavaScript 中,逻辑中断是指在逻辑运算中,当确定结果后停止继续求值的行为。原创 2023-07-06 15:15:30 · 287 阅读 · 0 评论 -
js 转换为Boolean型为假的有哪些?
当需要将一个值转换为布尔类型时(例如在条件语句中使用),JavaScript 会自动进行类型转换,将其转换为对应的布尔值。),这些值被称为假值(falsy values)。在 JavaScript 中,有一些值被转换为布尔类型时被视为假(非空字符串:包含至少一个字符的字符串都被视为真值。,被视为假值,因此在条件语句中执行了假值分支。在内的对象和数组都被视为真值。以外的任何数字都被视为真值。来显式地将值转换为布尔类型。非空对象和数组:包括空对象。函数:所有函数都被视为真值。等,它们被视为真值。原创 2023-07-06 15:13:43 · 118 阅读 · 0 评论 -
js 的 let 和 var
声明的变量会存在变量提升(hoisting)的现象,即变量的声明会被提升至作用域的顶部,但是初始化的赋值并不会被提升。声明的变量具有块级作用域。函数作用域意味着变量在声明它们的函数内部可见,而块级作用域意味着变量在声明它们的块(如。是 JavaScript 中用于声明变量的关键字,但它们在作用域和变量提升等方面有一些不同之处。来声明变量,因为它具有更严格的作用域规则和没有变量提升的特性,有助于减少代码中的潜在问题。重复声明:在同一个作用域中,使用。声明的变量具有函数作用域,而。声明的变量不存在变量提升。原创 2023-07-06 11:33:04 · 89 阅读 · 0 评论 -
JavaScript 立即执行函数
在 JavaScript 中,立即执行函数(Immediately Invoked Function Expression,IIFE)是一种特殊的函数表达式,它在定义后立即执行,而不需要显式调用。立即执行函数是一种强大的技术,可以用于多种情况,包括创建私有作用域、模块化开发和避免全局命名冲突等。是立即执行函数内部的私有变量和函数。在函数外部无法访问它们。参数的立即执行函数,并在调用时传递了参数值为。函数体内的代码会立即执行。上述代码定义了一个匿名函数,并在定义后使用。上述代码中,立即执行函数返回一个包含。原创 2023-07-04 16:57:47 · 579 阅读 · 0 评论 -
js时间戳+new Date()
的变量,并将其赋值为当前时间的时间戳。这个时间戳表示从1970年1月1日午夜(UTC时间)到当前时间的毫秒数。时间戳是一个表示日期和时间的数字值,通常是自1970年1月1日午夜(UTC时间)以来经过的毫秒数。的作用是将这个Date对象转换为其对应的时间戳。用于创建一个表示当前日期和时间的Date对象。),可以将Date对象转换为其对应的时间戳。在JavaScript中,原创 2023-05-10 15:18:46 · 594 阅读 · 0 评论 -
js 的null 和 undefined
js 的null 和 undefined,表示一个被明确赋值为“空”的值。它可以用来重置变量或对象属性的值,以明确表达它们的空值状态。,但这通常没有必要,因为 JavaScript 会自动将未赋值的变量初始化为。被视为未定义,也是“假值”。因此,如果要检查一个变量是否为。表示一个未被赋值的值。如果变量没有被赋值,那么它的值就是。在布尔上下文中的行为不同。都表示没有值,但它们的使用情况略有不同。在 JavaScript 中,也可以将一个变量赋值为。被认为是“假值”,而。原创 2023-05-01 10:30:30 · 175 阅读 · 0 评论 -
js 的 === 和 ==
js的==和===,类型转换是以左侧还是右侧为主原创 2023-05-01 10:22:32 · 259 阅读 · 0 评论 -
JavaScript 的arguments
是一个特殊的对象,表示当前函数调用时传递给函数的参数列表。它是函数内部的一个局部变量,可以在函数内部使用。对象来获取函数调用时传递的所有参数,并计算它们的总和。函数没有明确定义参数,但是它使用了。以下是一个例子,演示了如何使用。在 JavaScript 中,原创 2023-04-13 14:33:50 · 101 阅读 · 0 评论 -
++num和num++区别
++num和num++区别原创 2023-04-10 20:10:25 · 925 阅读 · 0 评论 -
js 的 declare
declare的用法原创 2023-04-10 19:42:21 · 2292 阅读 · 0 评论 -
TypeScript 和 JavaScript的关系
TypeScript和 JavaScript的关系原创 2023-04-10 19:38:13 · 488 阅读 · 0 评论