【每日十分钟前端】基础篇11,data-属性的作用、元素“看不见”的方式、JS执行上下文栈和作用域链

【前端知识之Vue】为什么data属性是一个函数而不是一个对象 本系列主要整理前端面试中需要掌握的知识点。本节介绍为什么data属性是一个函数而不是一个对象。 阅读详情

1、[HTML]data- 属性的作用?
2、[CSS]让一个元素“看不见”的方式有哪些?有什么区别?
3、[JS]JS 执行上下文栈和作用域链的理解?


1、data- 属性的作用?

使用data-*属性来嵌入私有的自定义数据,所有HTML标签都可用。
能被JavaScript调用dataset/getAttribute,(不能进行Ajax调用或服务端数据库查询)。
属性名小写,前缀“data-”后面必须至少带一个字符,属性值可以是任意字符串。

2、让一个元素“看不见”的方式有哪些?有什么区别?

display: none;不占据空间,无法点击;
opacity: 0;占据空间,无法点击;
visibility: hidden;占据空间,无法点击;
position: absolute; top: -999em;不占据空间,无法点击;
position: relative; top: -999em;占据空间,无法点击;

3、JS 执行上下文栈和作用域链的理解?

JS执行上下文:

当前JavaScript代码运行环境的抽象概念,Jacascript中运行任何的代码都是执行上下文中运行;
js代码在执行前,js引擎总要做一番准备工作,这份工作其实就是创建对应的执行上下文;
执行行下文类型分为:全局执行上下文、函数上下文、eval上下文。

(1)、全局执行上下文:

一般由浏览器自动创建,也就是window对象,能通过this直接访问到它,它也是var声明的全局变量的载体。

(2)、函数执行上下文:

可存在无数个,每当一个函数被调用时都会创建一个函数上下文,同一个函数多次调用,也都会创建一个新的上下文。

执行上下文栈:

也叫调用栈,先进后出,执行栈用于存储代码执行期间创建的所有上下文。
JS代码首次运行,都会先创建一个全局执行上下文并压入到执行站中,之后每当有函数被调用,都会创建一个新的函数执行上下文并压入站内。
JS代码执行完毕前在执行栈底部永远有个全局执行上下文。

作用域:

(1)、全局作用域:
在代码任何地方都能访问到的对象。
一般有:最外层函数和最外层函数外面定义的变量、未定义直接赋值的变量、window对象的属性。

(2)、局部作用域:
一般之在固定的代码片段可以访问到。
一般有:函数内部。

作用域链:

函数也是对象,与其他对象一样,拥有可以通过代码访问的属性和一系列仅供JavaScript引擎访问的内部属性。其中有一个内部属性,包含了函数被创建的作用域中对象的集合,这个集合就是作用域链,它决定了哪些数据能被函数访问,它会随着函数的调用而创建,函数的执行结束而销毁。函数内部未定义的变量会随着作用域链向上查找,一直找到同名的属性为止。

用D3.js 十分钟实现字符跳动效果 用D3.js 十分钟实现字符跳动效果 注 本文基于 D3.js 作者 Mike Bostock 的 例子 原文分为三部分, 在这里笔者将其整合为了一篇方便阅读. 该效果基于 D3.js, 主要使用到了 d3-selection. 如果对d3-selection的基本使用逻辑不太清楚可以参见 这篇文章. 效果图 Step1 首先代码会随机生成一个字符串, 该字符以绿色... 阅读详情

相关推荐

JavaScript三大运行时错误本质解析:ReferenceError、SyntaxError、TypeError

JavaScript错误是引擎执行状态的直接反馈,而非随机故障。SyntaxError源于代码无法通过词法与语法分析,表明源码不符合ECMAScript规范;ReferenceError发生在执行上下文构建阶段,反映变量或函数未在作用域链中声明;TypeError则出现在运行时操作阶段,揭示对象类型不支持当前行为(如访问undefined的属性)。理解这三类错误对应的引擎检查门——编译期、绑定期、执行期——是精准排错的基础。本文聚焦ReferenceError、TypeError等高频热词,结合Webpac

weixin_30745553的博客 336

HTML5中的data-*属性

HTML5中的data属性

丁哒哒的博客 7496

2025阿里前端面试核心考点:从JavaScript到工程化实战

前端工程化已成为现代前端开发的核心能力,其本质是将复杂业务拆解为可维护的模块与流程。理解JavaScript作用域与异步机制、浏览器渲染原理及框架设计思想,是构建高质量应用的基础。这些底层知识直接决定了性能优化、微前端改造、大文件上传等实战场景的解决方案质量。2025年阿里前端面试更注重候选人能否从原理层面解释问题,并给出可落地的工程方案。本文整理了面试中的高频考点与答题思路,涵盖JS语言功底、框架对比、构建工具优化、运行时性能调优及AI辅助开发新趋势,为准备高级前端岗位的开发者提供系统参考。

weixin_34146805的博客 418

简述data-属性的用法(如何设置,如何获取),有何优势?

简述data-属性的用法(如何设置,如何获取),有何优势?

m0_51958500的博客 4252

华为AR3260路由器NAT回流配置实战:从WEB界面到命令行的完整避坑指南

本文详细解析了华为AR3260路由器NAT回流(Hairpin NAT)的配置原理与实战方法。针对内网用户无法通过公网地址访问内部服务器的常见问题,文章不仅剖析了WEB界面配置的常见报错原因,更提供了清晰、可靠且一劳永逸的命令行(CLI)配置方案与排错指南,帮助企业网络工程师彻底解决内外网访问不一致的难题。

u6v7w8x的博客 872

华三模拟器实战:3分钟搞定路由器DHCP地址池配置(附常见错误排查)

本文提供华三模拟器中路由器DHCP地址池的实战配置指南。通过分步详解,帮助用户在3分钟内完成基础设置,并深入讲解多地址池、中继配置等进阶应用。文章重点剖析了DHCP服务无法工作的常见原因,提供从客户端到服务器的系统性排错方法,助力快速定位并解决地址分配失败、获取参数错误等典型问题。

w1x2y3的博客 360

data-属性的作用是什么?

data-* 属性用于存储页面或应用程序的私有自定义数据。 data-* 属性赋予我们在所有 HTML 元素上嵌入自定义 data 属性的能力。 存储的(自定义)数据能够被页面的 JavaScript 中利用,以创建更好的用户体验(不进行 Ajax 调用或服务器端数据库查询)。 data-* 属性包括两部分: 属性名不应该包含任何大写字母,并且在前缀 “data-” 之后必须有至少一个字符 属性值可以是任意字符串 注释:用户代理会完全忽略前缀为 “data-” 的自定义属性。 使用例子 <!DOCTY

weixin_44347685的博客 2606

鸿蒙OpenHarmony技术:【Docker编译环境】

OpenHarmony为开发者提供了两种Docker环境,以帮助开发者快速完成复杂的开发环境准备工作。独立Docker环境:适用于直接基于Ubuntu、Windows操作系统平台进行版本编译的场景。基于HPM的Docker环境:适用于使用HPM工具进行发行版编译的场景。点击或者复制转到。表1Docker镜像介绍系统类型运行平台Docker镜像仓库标签标准系统(独立Docker环境)3.2小型系统(独立Docker环境)3.2轻量系统(独立Docker环境)3.2。

m0_62167422的博客 1444

data-属性的作用

data-属性用于存储私有的自定义数据,data-属性可以让我们在所有的html元素上增加自定义data属性,存储的data属性能被JavaScript调用。 data-属性不应该包含任何大写字母,并且在data-后必须最少拥有一个字符,属性值可以是任意字符串 ...

jewfer的博客 470

【大模型应用开发-FastAPI框架】(八)Sqlalchemy+postgresql简单增删改查

语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。SQLAlchemy的理念是,的量级和性能重要于对象集合;而对象集合的抽象又重要于表和行。因此,SQLAlchemy采用了类似于。社区中成为广泛使用的ORM工具之一,不亚于Django的ORM框架。和declarative等可选插件可以让用户使用声明语法。SQLAlchemy首次发行于2006年2月,并迅速地在。SQLAlchemy“采用简单的。二、安装postgresql。一、SQLAlchemy简介。的数据映射模型,而不是其他。

2098

Android 13 内置xapk安装包的方法

安装xapk 内置xapk

安卓兼职framework和app工程师的博客 223

十分钟上手vue.js helloworld

十分钟上手vue.js helloworld

mqbug的博客 407

Python爬虫实战:用最新技术高效下载摄影网站图片

本文将深入探讨如何利用Python最新技术栈构建一个功能完整的摄影网站图片爬虫。我们将使用异步编程、智能反爬策略和现代化工具,实现高效、可靠的图片下载系统。高性能异步架构:使用asyncio实现高并发下载智能反爬策略:支持多种反爬措施和浏览器模拟多网站适配:可解析多种摄影网站结构数据管理:完整的下载记录和统计功能扩展性强:支持代理、分布式等高级功能用户友好:提供进度显示和详细日志。

2201_76125261的博客 1644

Akamai动态JS绑定常量与din数组元素排序

声明本文仅供学习交流使用, 如侵立删!

m0_74325664的博客 580

学Simulink——基于Simulink的Buck-Boost变换器双闭环PI+抗饱和设计建模示例

本文详细介绍了基于Simulink的非反相Buck-Boost变换器双闭环控制设计方法。针对Buck-Boost变换器特有的右半平面零点(RHPZ)和控制挑战,提出了电压-电流双闭环PI控制架构,并集成抗积分饱和机制。通过Simulink建模,实现了主电路、电流内环PI、电压外环PI、PWM及占空比限幅等模块的搭建,验证了在输入电压跌落(20V→10V)和负载突变(2A→4A)等场景下的稳定性能。仿真结果表明,输出电压波动小于0.35V,恢复时间快于1ms,电感电流有效限幅。文章还讨论了工程实践要点和扩展方

xiaoheshang_123的博客 318

Cesium 相机操作

Cesium 提供了三种方式对相机的位置进行摆放。

虎康的博客 2588

js添加class_用D3.js 十分钟实现字符跳动效果

用D3.js 十分钟实现字符跳动效果注本文基于 D3.js 作者 Mike Bostock 的 例子原文分为三部分, 在这里笔者将其整合为了一篇方便阅读.该效果基于 D3.js, 主要使用到了 d3-selection. 如果对d3-selection的基本使用逻辑不太清楚可以参见 这篇文章.效果图Step1 首先代码会随机生成一个字符串, 该字符以绿色进入画面.Step2 接下来, 代码随机生...

weixin_39923806的博客 198

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Cucumber-js 完整实战指南:在 Node.js 中用自然语言编写可执行的自动化测试

[Cucumber-js](https://link.gitcode.com/i/ccba352596c44b4af069b7fab9687d07) 是 Cucumber 官方 JavaScript 实现,它让你用团队任何人都能读懂的"自然语言"(Gherkin 语法)编写自动化测试,同时用 JavaScript 编写对应的步骤定义(Step Definitions),把"需求描述"和"测试代码"

gitblog_00321的博客 898

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

JS 打印 data数据_用D3.js 十分钟实现字符跳动效果

首先欢迎大家关注我的公众号获取更多前端干货: 前端夜谈本文基于 D3.js 作者 Mike Bostock 的 例子原文分为三部分, 在这里笔者将其整合为了一篇方便阅读.该效果基于 D3.js, 主要使用到了 d3-selection. 如果对d3-selection的基本使用逻辑不太清楚可以参见 这篇文章.效果图 Step1 首先代码会随机生成一个字符串, 该字符以绿色进入画面. Ste...

weixin_39943442的博客 175

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

青龙面板使用教程:Docker 十分钟装好你的定时任务管理平台

半夜脚本跑挂了没人知道,crontab 里的日志翻都翻不到——如果你的定时任务管理还停留在命令行时代,青龙面板(QingLong)值得试一下。它是一个支持 JavaScript、TypeScript、Python3、Shell 的定时任务管理平台:Web 界面建任务、写脚本、看日志、管环境变量,默认端口 5700,一条 Docker Compose 命令就能跑起来。 ## 它适合谁,不适合谁

gitblog_00687的博客 1094

MySQL 8 十分钟快速部署与基础操作全攻略

关系型数据库作为现代应用数据存储的核心,通过SQL语言实现对结构化数据的增删改查与事务管理,其ACID特性保障了数据的一致性与可靠性。在众多开源方案中,MySQL凭借其高性能、高可靠性和丰富的生态成为最流行的选择之一。MySQL 8作为其重要版本,引入了更强的安全策略与性能优化,对于Web应用后端、企业级系统及个人学习等场景具有重要技术价值。本文聚焦于MySQL 8的快速部署实践,详细解析在Windows平台下通过官方安装包完成安装、服务启动、密码安全策略配置以及基础SQL操作验证的全流程,并涵盖Docke

weixin_33912638的博客 369

CORVUS:智能上下文管理引擎,解决LLM编码代理的“上下文臃肿症”

在软件开发与人工智能工程实践中,大型语言模型(LLM)作为编码代理时,常因处理冗长的代码上下文而遭遇性能瓶颈,即“上下文臃肿症”。其原理在于LLM的注意力机制受限于固定的上下文窗口,当输入token数超过限制,会导致信息丢失、生成速度下降及成本激增。为解决此问题,智能上下文管理技术应运而生,它通过动态筛选与任务最相关的代码片段,而非加载全部文件,来优化LLM的工作效率。这项技术的核心价值在于显著降低计算开销与API成本,同时提升代码生成的准确性与代理的响应速度。其应用场景广泛覆盖自动化代码生成、智能编程助手

weixin_34199335的博客 387

PocketBase与HTMX组合:轻量级全栈Web应用开发实战

在Web开发领域,构建功能完整的应用通常需要组合数据库、后端API、用户认证和前端交互等多个复杂组件。其技术原理是通过模块化集成,将通用功能封装为开箱即用的服务,从而降低开发门槛、提升交付效率。这种模式的技术价值在于让开发者能更聚焦于业务逻辑而非基础设施,尤其适合快速原型验证和内部工具开发。应用场景广泛覆盖了管理后台、小型产品及需要快速交付的全栈项目。本文以PocketBase和HTMX这一具体技术组合为例,深入解析如何利用内置SQLite数据库和声明式前端属性,实现无需复杂构建流程的生产就绪应用开发,并重

weixin_34067102的博客 372

【优质书籍推荐】Node.js+MongoDB+Vue.js全栈开发实战:用TaoToken统一Key打通前后端联调配置

跟着《Node.js+MongoDB+Vue.js全栈开发实战》做联调时,把散落在Vue、Node、MongoDB三处的Key收拢到一份settings.json,再用TaoToken统一模型调用出口,前端只请求Node转发。本文给出可复制的配置骨架与/api/health端到端验证步骤,帮你一次跑通全栈链路。详见 https://taotoken.net/?utm_source=taotoken_aicg_blog_end

weixin_32480007的博客 11
上一篇: 【每日十分钟前端】基础篇10,placeholder属性、css3新特性、多行字符串声明
下一篇: 【每日十分钟前端】基础篇12,meta viewport、line-height:2;与line-height:200%;、前端使用异步的场景
黎明初时
博客等级 码龄13年 47粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值