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

js事件委托理解 转

事件委托也叫事件代理,事件委托就是利用事件冒泡,指定一个事件处理程序,就可以管理某一类型所有事件何为事件冒泡呢,就是从事件最深节点开始,然后逐步向上传播事件,最大优点是提高性能 一般做法 <ul...,添加元素也有事件 oUl.onmouseover = function(ev){ var ev = ev || window.event;...值得注意是,mouseovermouseout虽然也有事件冒泡,但是处理它们时候需要特别的注意,因为需要经常计算它们位置,处理起来不太容易。...我理解是:事件委托都是在外围div添加事件,当点击内部一个元素时,即使这个元素没有onclick事件,依然会从内到外执行onclick事件,js中外部div 添加事件函数内 var ev = ev...|| window.event;  var target = ev.target || ev.srcElement; 指的是内部div元素 (adsbygoogle = window.adsbygoogle

1K20

前端常考react相关面试题(一)

,维护自身状态变化,有状态组件根据外部组件传入 props 自身 state进行渲染。...总结: 组件内部状态且与外部无关组件,可以考虑用状态组件,这样状态树就不会过于复杂,易于理解管理。...为了解决跨浏览器兼容性问题, React中事件处理程序将传递 SyntheticEvent实例,它是跨浏览器事件包装器。...为什么它们很重要 refs允许你直接访问DOM元素或组件实例。为了使用它们,可以向组件添加个ref属性。 如果该属性值是一个回调函数,它将接受底层DOM元素或组件已挂载实例作为其第一个参数。...类组件(Class component)函数式组件(Functional component)之间有何不同 类组件不仅允许你使用更多额外功能,组件自身状态生命周期钩子,也能使组件直接访问 store

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

软件设计原则之内聚、耦合类型剖析与内聚度、耦合度比较

而对于内聚耦合你还是仅仅局限于“高内聚,低耦合”模糊概念吗?那你是如何判断何为高低呢?...本篇文章将带你分别深度剖析总结内聚与耦合 7 种类型描述,为在以后项目开发与考试中更好地判断类型助你一臂之力! ? ---- 一、何为内聚?...内聚是指模块内部元素之间联系紧密程度,也就是代码功能集中程度。...,而且必须顺序执行 通信内聚 所有处理元素集中在一个数据结构区域上 过程内聚 处理元素相关,而且必须按特定次序执行 瞬时内聚 所包含任务必须在同一时间间隔内执行(:初始化模块) 逻辑内聚 完成一组逻辑上相关任务...一个数据结构一部分借助于模块接口被传递 控制耦合 模块间传递信息中包含用于控制模块内部逻辑信息 外部耦合 与软件以外环境有关 公共耦合 多个模块引用同一个全局数据区 内容耦合 一个模块访问另一个模块内部数据一个模块不通过正常入口转到另一模块内部两个模块有一部分程序代码重叠一个模块有多个入口

1.5K21

软件设计原则:内聚、耦合有哪几种类型?内聚度、耦合度如何比较?

本篇文章将带你分别深度剖析总结内聚与耦合 7 种类型描述,为在以后项目开发与考试中更好地判断类型助你一臂之力! ---- 一、何为内聚?...内聚是指模块内部元素之间联系紧密程度,也就是代码功能集中程度。...1.1、7 种内聚类型及其描述 模块内聚类型通常可以分为 7 种,我们根据内聚度从高到低排序,如下表所示: 内聚类型描述功能内聚完成一个单一功能,各个部分协同工作,缺一不可顺序内聚处理元素相关,而且必须顺序执行通信内聚所有处理元素集中在一个数据结构区域上过程内聚处理元素相关...,而且必须按特定次序执行瞬时内聚所包含任务必须在同一时间间隔内执行(:初始化模块)逻辑内聚完成一组逻辑上相关任务偶然内聚完成一组没有关系或松散关系任务 二、何为耦合?...一个模块不通过正常入口转到另一模块内部 两个模块有一部分程序代码重叠 一个模块有多个入口 总结 本文给大家介绍了软件设计原则中两个核心概念——内聚、耦合,并对两个概念进行了阐述。

2.3K30

C#反射机制

地球内部结构:地球内部结构大体可以分为三层:地壳、地幔地核。如何在地球表面不用深入地球内部就知道其内部构造呢?我们可以向地球发射“地震波”,“地震波”分两种一种是“横波”,另一种是“纵波”。...通过在地面对纵波横波反回情况,我们就可以大体断定地球内部构造了。 大家注意到这两个例子共同特点,就是从一个对象外部去了解对象内部构造,而且都是利用了波反射功能。...在.NET中反射也可以实现从对象外部来了解对象(或程序集)内部结构功能,哪怕你不知道这个对象(或程序集)是个什么东西,另外.NET中反射还可以运态创建出对象并执行它其中方法。...(5)使用FiedInfo了解字段名称、访问修饰符(public或private)实现详细信息(static)等,并获取或设置字段值。...(6)使用EventInfo了解事件名称、事件处理程序数据类型、自定义属性、声明类型反射类型等,添加或移除事件处理程序 (7)使用PropertyInfo了解属性名称、数据类型、声明类型、反射类型只读或可写状态等

14830

jquery面试题目_高并发面试题

这是一个事件处理问题。jQuery为按钮点击之类事件提供了很好支持。你可以通过以下代码去隐藏一个通过ID或class定位到图片。...JavaScript window.onload 事件 jQuery ready 函数之间主要区别是,前者除了要等待 DOM 被创建还要等到包括大型图片、音频、视频在内所有外部资源都完全加载。...你可以使用下面这个 jQuery 代码片段来选择所有嵌套在段落(标签)内部超链接(标签)…… 11. $(this) this 关键字在 jQuery 中有何不同?...你也还可以看看 用来向DOM中添加元素 appendTo() 方法. 15. 你如何利用jQuery来向一个元素添加移除CSS类?...你要是在一个 jQuery 事件处理程序里返回了 false 会怎样? 这通常用于阻止事件向上冒泡。 20.

9.4K10

最常见 20 个 jQuery 面试问题及答案

你可以使用下面这个 jQuery 代码片段来选择所有嵌套在段落(标签)内部超链接(标签)……   11. $(this) this 关键字在 jQuery 中有何不同?...你也还可以看看 用来向DOM中添加元素 appendTo() 方法.   15. 你如何利用jQuery来向一个元素添加移除CSS类?...你要是在一个 jQuery 事件处理程序里返回了 false 会怎样?   这通常用于阻止事件向上冒泡。   20....你也还可以看看 用来向DOM中添加元素 appendTo() 方法.   15. 你如何利用jQuery来向一个元素添加移除CSS类?...你要是在一个 jQuery 事件处理程序里返回了 false 会怎样?   这通常用于阻止事件向上冒泡。   20.

13.7K30

年前端react面试打怪升级之路

生命周期使用较多,容易频繁触发生命周期钩子函数,影响性能内部使用 state,维护自身状态变化,有状态组件根据外部组件传入 props 自身 state进行渲染。...: 组件内部状态且与外部无关组件,可以考虑用状态组件,这样状态树就不会过于复杂,易于理解管理。...而不是为每个状态更新编写一个事件处理程序。React官方解释:要编写一个非受控组件,而不是为每个状态更新都编写数据处理函数,你可以使用 ref来从 DOM 节点中获取表单数据。...构造函数主要用于两个目的:通过将对象分配给this.state来初始化本地状态将事件处理程序方法绑定到实例上所以,当在React class中需要设置state初始值或者绑定事件时,需要加上构造函数,...与 Fragment 一样,StrictMode 不会渲染任何可见 UI。它为其后代元素触发额外检查警告。可以为应用程序任何部分启用严格模式。

2.2K10

C#反射机制

地球内部结构:地球内部结构大体可以分为三层:地壳、地幔地核。如何在地球表面不用深入地球内部就知道其内部构造呢?我们可以向地球发射“地震波”,“地震波”分两种一种是“横波”,另一种是“纵波”。...通过在地面对纵波横波反回情况,我们就可以大体断定地球内部构造了。 大家注意到这两个例子共同特点,就是从一个对象外部去了解对象内部构造,而且都是利用了波反射功能。...在.NET中反射也可以实现从对象外部来了解对象(或程序集)内部结构功能,哪怕你不知道这个对象(或程序集)是个什么东西,另外.NET中反射还可以运态创建出对象并执行它其中方法。...(5)使用FiedInfo了解字段名称、访问修饰符(public或private)实现详细信息(static)等,并获取或设置字段值。...(6)使用EventInfo了解事件名称、事件处理程序数据类型、自定义属性、声明类型反射类型等,添加或移除事件处理程序 (7)使用PropertyInfo了解属性名称、数据类型、声明类型、反射类型只读或可写状态等

18120

JavaScript(十二)

最后一个阶段是冒泡阶段,可以在这个阶段对事件做出响应。 事件处理程序 ---- 事件就是用户或浏览器自身执行某种动作。 click、load mouseover,都是事件名字。...因为用户可能会在 HTML 元素一出现在页面上就触发相应事件,但当时事件处理程序有可能尚不具备执行条件 其次,扩展事件处理程序作用域链在不同浏览器中会导致不同结果 最后,HTML 与 JavaScript...每个元素(包括 window document)都有自己事件处理程序属性,这些属性通常全部小写,例如 onclick。...mouseover: 在鼠标指针位于一个元素外部,然后用户将其首次移入另一个元素边界之内时触发 注意: 只有在同一个元素上相继触发 mousedown mouseup 事件,才会触发 click...也就是说,我们可以为整个页面指定一个 onclick 事件处理程序,而不必给每个可单击元素分别添加事件处理程序

2.9K20

【前端面试题】03—200+道常见JavaScript基础面试题上(附答案)

(2)在函数内部可以引用外部参数变量 (3)参数变量不会以垃圾回收机制回收 5、解释一下 unshift0方法。 该方法在数组启动时起作用,与 push()不同。...事件是由用户与页面的交互(例如单击链接或填写表单)导致操作。需要个事件处理程序来保证所有事件正确执行。事件处理程序是对象额外属性。此属性包括事件名称事件发生时采取操作。...未定义变量是在程序中声明但尚未给出任何值变量如果程序尝试读取未定义变量值,则返回未定义值60.:如何编写可动态添加元素代码? 下面给出一段示例代码 <!...88、在 JavaScript中, unshift方法作用是什么? unshift方法就像在数组开头工作push方法。该方法用于将一个或多个元素添加到数组开头。 89、如何为对象添加属性?...在这种情况下,如果单击子级处理程序,父级处理程序也将执行同样工作。 98、JavaScript里函数参数 arguments是数组吗?

4.4K10

addEventListener() 方法,事件监听

语法 element.addEventListener(event, function, useCapture); 第一个参数是事件类型 ( “click” 或 “mousedown”)....事件传递有两种方式:冒泡与捕获。 事件传递定义了元素事件触发顺序。 如果你将 元素插入到 元素中,用户点击 元素, 哪个元素 “click” 事件先被触发呢?...在 冒泡 中,内部元素事件会先被触发,然后再触发外部元素,即: 元素点击事件先触发,然后会触发 元素点击事件。...在 捕获 中,外部元素事件会先被触发,然后才会触发内部元素事件,即: 元素点击事件先触发 ,然后再触发 元素点击事件。...click", myFunction, true); removeEventListener() 方法 removeEventListener() 方法移除由 addEventListener() 方法添加事件句柄

2.4K30

一天梳理React面试高频知识点

key可以帮助 React跟踪循环创建列表中虚拟DOM元素,了解哪些元素已更改、添加或删除。每个绑定key虚拟DOM元素,在兄弟元素之间都是独一无二。...key使 React处理列表中虛拟DOM时更加高效,因为 React可以使用虛拟DOM上key属性,快速了解元素是新、需要删除,还是修改过。...React-Router如何获取URL参数历史对象?(1)获取URL参数get传值路由配置还是普通配置,:'admin',传参方式:'admin?id='1111''。...可以使用自定义事件通信(发布订阅模式)可以通过redux等进行全局状态管理如果是兄弟组件通信,可以找到这两个兄弟节点共同父节点, 结合父子间通信方式进行通信。描述事件在 React中处理方式。...为了解决跨浏览器兼容性问题, React中事件处理程序将传递 SyntheticEvent实例,它是跨浏览器事件包装器。

2.8K20

第六章 面向对象编程(基础)

内聚,指一个模块内各个元素彼此结合紧密程度;耦合指一个软件结构内不同模块之间互连程度度量。...内聚意味着重用独立,耦合意味着多米诺效应牵一发动全身 ‍ 而“高内聚,低耦合”体现之一: ​高内聚​:类内部数据操作细节自己完成,不允许外部干涉; ​低耦合​:仅暴露少量方法给外部使用,尽量方便外部调用...所谓 JavaBean,是指符合如下标准 Java 类: 类是公共 有一个无参公共构造器 有属性,且有对应 get、set 方法 用户可以使用 JavaBean 将功能、处理、值、数据库访问其他任何可以用...Java 代码创造对象进行打包,并且其他开发者可以通过内部 JSP 页面、Servlet、其他 JavaBean、applet 程序或者应用来使用这些对象。...你拖动 IDE 构建工具创建一个 GUI 组件(多选框),其实是工具给你创建 Java 类,并提供将类属性暴露出来给你修改调整,将事件监听器暴露出来。

13310

JavaScript 面试必备基础知识梳理(71个知识点)

任何事件处理程序都可以通过调用 event.stopPropagation() 来停止事件,但不建议这样做,因为我们不确定是否确实不需要冒泡上来事件,也许是用于完全不同事情。...事件处理程序也是如此。在特定元素上设置处理程序代码,了解有关该元素最详尽信息。特定于 处理程序可能恰好适合于该 ,这个处理程序知道关于该元素所有信息。所以该处理程序应该首先获得机会。...事件委托 它通常用于为许多相似的元素添加相同处理,但不仅限于此。 算法: 在容器(container)上放一个处理程序。 在处理程序中 —— 检查源元素 event.target。...如果事件发生在我们感兴趣元素内,那么处理事件。 好处: 简化初始化并节省内存:无需添加许多处理程序。 更少代码:添加或移除元素时,无需添加/移除处理程序。...mouseenter/leave 事件在这方面不同:它们仅在鼠标进入离开元素时才触发。并且它们不会冒泡。 71.

1.1K10

面试前必备 JavaScript 基础知识梳理总结

任何事件处理程序都可以通过调用 event.stopPropagation() 来停止事件,但不建议这样做,因为我们不确定是否确实不需要冒泡上来事件,也许是用于完全不同事情。...事件处理程序也是如此。在特定元素上设置处理程序代码,了解有关该元素最详尽信息。特定于 处理程序可能恰好适合于该 ,这个处理程序知道关于该元素所有信息。所以该处理程序应该首先获得机会。...事件委托 它通常用于为许多相似的元素添加相同处理,但不仅限于此。 算法: 在容器(container)上放一个处理程序。 在处理程序中 —— 检查源元素 event.target。...如果事件发生在我们感兴趣元素内,那么处理事件。 好处: 简化初始化并节省内存:无需添加许多处理程序。 更少代码:添加或移除元素时,无需添加/移除处理程序。...mouseenter/leave 事件在这方面不同:它们仅在鼠标进入离开元素时才触发。并且它们不会冒泡。 71.

79620

JavaScript(一)

W3C DOM 定义: 一个与系统平台编程语言无关接口,程序脚本可以通过这个接口动态访问修改文档结构,内容样式。 请注意: DOM 并不只针对 JavaScript 。...DOM2 引入了下列新模块: DOM View: 定义了跟踪不同文档视图接口 DOM Events: 定义了事件事件处理接口 DOM Style: 基于 CSS 为元素应用样式接口 DOM Traversal...但是从其他服务器中获取数据功能是受限,需要服务器(在 HTTP 头中)添加某些参数 其他语言 最近出现了很多不同语言,这些语言在浏览器中执行之前,都会被编译(转化)成 JavaScript。...只对外部脚本有效 src: 表示包含要执行代码外部文件 type: 默认是 text/javascript,一般不写 使用 script 元素方式有两种: 直接在页面嵌入 JS 代码 包含外部 JS...当使用嵌入代码时,解释器对 script 元素内部所有代码求值完毕前,页面的其余内容都不会被浏览器加载显示。 当使用外部文件时,页面的处理也会暂时停止。

53020

javascript基础重点

“空”值,它0以及空字符串''不同,0是一个数值,''表示长度为0字符串,而null表示“空”。...' }; } 9. javascript函数可以嵌套,内部函数可以访问外部函数定义变量,反之不行 如果内部函数外部函数变量重名的话,javascript函数在查找变量时从自身函数定义开始...,从内向外查找,如果内部函数定义了与外部函数重名变量,则内部函数变量将屏蔽外部函数变量 10.javascript会扫描整个函数体语句,把所有声明变量提升到函数顶部,但不会提升变量赋值 11...Jquery有的动画 slideUp()没有效果,这是因为jquery动画原理是逐渐改变css值,:height从100px逐渐变为0,如果元素不是block性质DOM元素,设置它们height...就不会起作用 25.涉及到异步代码,无法在掉用时捕获异常,原因是在绑定事件代码处,无法捕获事件处理函数错误 26.underscore函数库  node.js 27.

89620

「机会方案」TOGAF建模:项目环境图

项目上下文图显示了作为更广泛转型路线图一部分来实现工作包范围。项目上下文图将工作包与将被添加、删除或受项目影响组织、功能、服务、过程、应用程序、数据技术联系起来。...项目环境图对于项目组合管理项目动员也是一个有价值工具。 UML/BPMN EAP Profile ? 外部参与者:企业外部参与者。 内部参与者:属于企业参与者。...交互应用程序组件:表示管理与IS外部元素交互顶级组件。在大多数情况下,它是一个GUI组件,比如这里web界面。 数据库应用程序组件:表示一个存储库。在纯SOA体系结构中,这些元素不应该出现。...它将系统组装起来以使其联合,例如在不同公司之间不同信息系统之间合作示例中。 用例:表示参与者系统之间交互,以满足业务需求。用例由一组场景进一步描述,这些场景表示系统参与者之间交互。...业务服务:表示由业务提供服务,然后可以由一个或多个IS服务实现。 业务流程:流程图(事件图)所示。业务流程在流程图中有详细说明。

31110
领券