前端面试细节重难点(十二)(已工作|做分享)

1、如何区分在react、vue和js中的是否传递e参数?事件对象e都要通过event作为实参显示传递形参才可接收到吗?

答:(1)在原生JavaScript中:事件对象e需要通过函数参数显式传递。

(2)在React中:事件对象e会自动作为参数传递给事件处理函数,无需显式指定。

(3)在Vue中:事件对象e会自动作为参数传递给事件处理函数,无需显式指定。

Eg:当按钮被点击时,Vue会自动调用handleClick函数,并将事件对象作为第一个参数传递给它。

2、React中事件回调函数是函数名【函数的定义,函数的引用地址】,而不是函数的调用?

答:(1)区分:函数名 VS 函数调用

函数名:指的是函数的定义或函数的引用地址。

函数调用:指的是执行函数的操作。当你调用一个函数时,会执行这个函数的代码。

React中的事件处理:在React中,事件处理函数通过属性传递给组件,而不是直接在HTML中定义,该函数会在相应的事件触发时被调用。

Eg:这里的handleClick是一个函数名,它指向函数的定义。React会在点击按钮时调用这个函数。

总结:React中使用函数名而不是函数调用的方式,是为了确保事件处理函数在事件触发时被正确调用,而不是在组件渲染时就立即执行,更可控和灵活。

3、如何理解"在JavaScript中使用内联事件处理器(例如 onclick 属性)时,确实存在一个潜在问题:当页面渲染时,这些内联的JavaScript代码会被解析并执行。但这并不意味着事件处理函数会立即执行,而是说它们会被注册到相应的DOM元素上。"?

答:(1)区分两个概念:

解析和注册事件处理器:当浏览器解析HTML时,它会读取内联的JavaScript代码,并将其注册为DOM元素的事件处理器。这个过程是自动的,不需要用户交互。

实际执行事件处理器:事件处理器的执行只有在特定的用户交互(如点击按钮)发生时才会触发。在此之前,尽管事件处理器已经被注册到DOM元素上,但它们并不会执行。

总结:使用内联事件处理器时,虽然在页面渲染时事件处理器会被注册,但它们并不会在渲染时执行。只有在用户触发了相应的事件(如点击)时,这些函数才会被调用。

更多详情:爱米的前端小笔记(csdn~xitujuejin~zhiHu~Baidu~小红shu)同步更新,等你来看,大家多多👍💛➕🤔哦!你们的支持才是我不断更新的动力!

相关推荐
小羊没烦恼!11 分钟前
T-SQL查询高级—SQL Server索引中的碎片和填充因子
开发语言·前端·javascript·数据库·后端·python·web安全
美味蛋炒饭.26 分钟前
java八股面试(2)
面试·职场和发展
CesareCheung28 分钟前
高级软件测试工程师面试锦集
面试·单元测试·压力测试
定栓39 分钟前
Webpack迁到Vite第一节:模块系统迁移:require → import
运维·前端·webpack
小熊在忙fpga1 小时前
N32G430芯片的flash表示
前端·javascript·html
天竺鼠不该去劝架1 小时前
2026年国产制造业智能体有哪些?主流厂商场景盘点
经验分享
Data analyse4561 小时前
App埋点版本兼容的字段迁移校验
大数据·运维·服务器·前端·数据库·数据分析
todoitbo1 小时前
本来只想给内网开个口子,Natapp 却多给了一道防护
前端·javascript·vue.js·内网穿透·网络防护·natapp
会灭火的程序员1 小时前
SuperMap AgentX Server智能体接入WEB应用技术文档
前端·supermap·agentx·agentx server
CRMEB1 小时前
商品 SKU 设计,从简单规格到多规格踩过什么
java·前端·数据库·开源