首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

10 - JavaScript 函数 & 11 - JavaScript 函数种类

函数就是 JavaScript 可以被执行代码块。函数有如下必备部分: 1. 使用 function 关键字声明; 2. 函数名字紧跟其后,它就是被调用时使用名字。 3....你可以给函数传递参数,那些值可以是动态。 4. 形参传递给函数实参。 5. 当函数被调用时,代码块将会被执行。 6. 代码块是被括号包裹。...函数创建了可复用代码块,若你有需要多次执行代码,把它们变为一个函数是个好主意。 函数返回值 函数一旦执行完代码可以给你返回一些东西,但并非总是如此。有时候函数执行完也就结束了。...JavaScript 自带函数 你不是要经常写函数JavaScript 自带了许多可以直接使用方法。...函数声明在其他代码执行之前被加载,然而函数表达式只有等到 JavaScript 解释器执行到所在代码行时才被加载。这就是 JavaScript hoisting[1] 原理。

2.8K20

javascript事件监听传递匿名函数(嵌套定义命名函数)与命名函数区别

https://blog.csdn.net/wkyseo/article/details/51352229 项目中有个需求,事件第一次执行(立即执行)与后几次执行不同,但是直接传递定义好命名函数...(window); 这段代码第一次打印1,之后点击打印2 此处需要理解概念:对象引用类型和函数闭包 解读 对象按照引用传递。...第一个fn指向匿名函数(对象),然后添加事件指向是匿名函数(对象),你改写fn并不会改写该匿名函数(对象);第二个事件是匿名函数,里面调用fn指向函数(形成闭包,取最后赋值fn)。...Object{c:3},因为a, c指向同一对象,引用传递不是复制,这个例子b就好比fn 后记 项目中刚开始想实现此功能时候用是第一种方法,但是未能实现,经同事指点,需要嵌套一个匿名函数,形成闭包...对于对象引用类型之前熟悉,但理解不深刻,具体问题无法分析。所以基础还是要理解透啊。

1.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

浅析 JavaScript 事件委托

按钮列表被迭代为 for (const button of buttons) ,并且每个按钮都被附加了一个新侦听器。另外在列表按钮被添加删除后,你必须还要手动删除附加事件监听器。...JavaScript事件传播 addEventListener 方法第三个参数 captureOrOptions: element.addEventListener(eventType, handler...通过下面的代码,你会侦听到在 元素上发生捕获阶段点击事件: document.body.addEventListener('click', () => { console.log(...使用事件委托需要 3 个步骤: 步骤 1:确定要监视事件元素父级元素 在上面的例子, 是按钮父元素。...该事件侦听器也会对按钮单击做出反应,因为按钮单击事件冒泡通过祖先元素(由于事件传播)。 步骤 3:用 event.target 选择目标元素 单击按钮时,将会用event 对象参数调用处理函数

2.6K30

JavaScriptEvent(事件)详解

Event 对象 Event 对象代表事件状态,比如事件在其中发生元素、键盘按键状态、鼠标的位置、鼠标按钮状态。 事件通常与函数结合使用,函数不会在事件发生前被执行!...事件句柄 (Event Handlers) HTML 4.0 新特性之一是能够使 HTML 事件触发浏览器行为,比如当用户点击某个 HTML 元素时启动一段 JavaScript。...下面是一些常用属性,可将之插入 HTML 标签以定义事件行为。 1、单击事件 ? 2、双击事件 ?...5、焦点事件 onfocus:获得焦点事件 onblur:失去焦点事件 onchange:失去焦点时内容改变事件 ? 6、页面加载事件 onload:页面加载完成时实现页面。 ?...注:调用多个函数时,只需要用分号隔开即可。如下图:同时触发两种事件 ? 相关事件所对应函数代码: ? 附:事件名称表 ?

90710

JavaScript箭头函数

前言 本文可以让你了解所有有关JavaScript箭头函数信息。我们将告诉你如何使用ES6箭头语法,以及在代码中使用箭头函数时需要注意一些常见错误。你会看到很多例子来说明它们是如何工作。...箭头函数语法 函数就像食谱一样,你在其中存储有用指令,以完成你需要在程序中发生事情,比如执行一个动作返回一个值。通过调用函数,来执行食谱包含步骤。...你可以把函数存储在变量,把它们作为参数传递给其他函数,并从其他函数把它们作为值返回。你可以使用JavaScript箭头函数来做所有这些事情。 无圆括号语法 在上述示例函数是没有参数。...匿名箭头函数 在上面的演示,接下来要注意是.setInterval()方法代码。在这里,你也会发现一个匿名函数,但这次是一个箭头函数。为什么?...,以解决JavaScriptthis关键字绑定问题

2.1K20

JavaScript高阶函数

什么是高阶函数 高阶函数是对其他函数进行操作函数,可以将它们作为参数通过返回它们。简单来说,高阶函数是一个函数,它接收函数作为参数函数作为输出返回。...在《javascript设计模式和开发实践》是这样定义: 1.函数可以作为参数被传递; 2.函数可以作为返回值输出。...示例 Array.prototype.map 该map()方法通过调用作为输入数组每个元素参数提供回调函数来创建一个新数组。...该map()方法将从回调函数获取每个返回值,并使用这些值创建一个新数组。传递给回调函数map()方法接受3个参数:element,index,和array。...假设我们有一个数组,我们想要创建一个新数组,其中包含第一个数组每个值两倍。让我们看看如何使用和不使用高阶函数来解决问题

1.2K20

前端JavaScript动态事件添加

前言 在前端开发,交互性是至关重要。动态事件添加是一种在JavaScript实现交互重要技术。本文将介绍动态事件添加概念和优势,并详细介绍两种常用动态事件添加方法。...事件基本概念 事件是指在网页中发生特定交互行为,比如点击按钮、滚动页面输入文本等。通过事件,我们可以在特定交互行为发生时触发相关JavaScript代码,以实现相应操作和逻辑。...减少重复代码: 可以通过动态事件添加方式,避免在HTML为每个元素都编写相同事件处理代码。...3.事件处理函数编写具体操作逻辑。 通过事件委托实现动态事件绑定 事件委托是一种利用事件冒泡原理动态事件绑定技术。通过将事件绑定到父元素上,可以在父元素上捕获子元素触发事件。...3.在父元素事件处理函数,通过判断事件目标元素,确定要执行操作。 总结 动态事件添加是前端开发实现交互性重要手段。通过动态事件添加,我们可以实现灵活、可扩展交互效果,减少重复代码编写。

20120

JavaScript事件内存与性能

---- theme: channing-cyan 这是我参与8月更文挑战第28天,活动详情查看:8月更文挑战 为什么要说内存与性能 因为事件处理程序在web可以实现交互等其他功能,所有我们很多开发者都会在页面中大量使用事件处理...,在js每一个函数都是对象,都占用内存空间,而且我们快速触发事件,可能因为事件先后顺序而导致交互延迟或者卡顿。...事件委托 事件委托可以解决过度事件处理程序,它原理是利用事件冒泡,用一个事件来管理一种类型事件。...最简单还是在操作完时候我们手动设置一下事件处理程序为null,这样会告诉浏览器,可以安全回收。...其实还可以回到事件委托上来,如果我们知道了页面有事件处理程序可能被移除,那我们直接给更高层次元素上设置事件,这样同样可以达到目的。

51020

JavaScriptthis指向问题

JavaScriptthis关键字 在JavaScript,关键字 this 是一个特殊对象,它在函数被调用时自动创建。通常用来指向当前执行函数所属对象。...在上面的代码,通过call、applybind方法,我们可以将sayHello函数this指向person1person2对象。...可以使用箭头函数通过在外部函数中将this赋值给一个变量来解决这一问题事件处理函数this:在事件处理函数,this通常指向触发事件元素。...可以使用箭头函数、bind()方法,通过在外部函数中将this赋值给一个变量来解决这一问题。 对象方法this:在对象方法,this通常指向调用该方法对象。...在事件处理函数、回调函数对象方法,使用箭头函数、bind()方法将this赋值给一个变量来确保this指向正确。

20960

JavaScriptthis指向问题

2、用来干嘛 this在一般情况下,是指向函数上下文,可以处理一些作用域下事件调用 如果想要引用某对象方法,就不用写太多重复代码,直接用this调用某对象方法 3、怎么在代码中使用 console.log...person.say(); console.log(this.person.name); //dog 4、改变this指向 4.1引入call、bind、apply 4.1.1区别 共同点 都是函数内置方法...都可以改变函数执行上下文 注:改变上下文可以为程序节省内存空间,减少不必要内存操作 通俗易懂解释改变上下文: 小张在公司有个快递要拿,刚好有事,自己拿不了,他就安排小王拿,这里小张本来是拿快递执行上下文...,因为有事,就改变拿快递执行上下文,变成了小王,节约了小张时间,他就不用另外安排时间去拿快递了 不同点 call、apply是立即执行,bind是不会立即执行,而是返回一个回调函数,执行时需要加个...() call格式为call(this.obj,arg,arg,…) , 接收一个多个由逗号隔开参数 apply格式为apply(this.obj,[argArray]),只接收两个参数,一个是新this

1.1K11

简单说 JavaScript事件委托(下)

https://blog.csdn.net/FE_dev/article/details/78870583 说明 上次我们说了一些,关于 JavaScript事件委托 基础知识,这次我们继续来看...,用了事件委托,把事件绑在了ul上,没有给每个 li 都去绑定事件,看上去也是实现效果了,但是如果 li 里面还有子元素,那么这么去绑定事件就不行了,当点击 li 里面的子元素时,就出现问题了。...jQuery事件委托 jQuery事件委托主要是靠on( ) 方法,我们先来看看 on( ) 方法使用说明 on( ) 方法主要有以下两种形式用法 用法一 jQueryObject.on...data 可选/任意类型,触发事件时,需要通过event.data传递给事件处理函数任意数据。 handler Function类型,指定事件处理函数。...JQueryon( )方法解释,推荐看这里 jQuery.on() 函数详解 总结 用到 事件委托 地方,应该还是比较多,希望大家都能理解这个东西。

46940
领券