3.13(变量声明的提前)

本文探讨了动态添加页面元素后,如何正确获取并输出元素长度为0的问题,分析了原因,并提供了使用setTimeout、Promise和生成器函数的解决方案。

一:问题描述

  在写项目的时候通过动态添加的一些元素(页面加载时就添加上的)然后获取他的元素再输出他得到的是下面的东西

//添加完元素获取
let Food_Delete = document.getElementsByClassName("Food_Delete");
 console.log(Food_Delete.length);

在这里插入图片描述但是我们再输出他的lenth属性发现他是0在这里插入图片描述
再输出他每一元素会发现他是undefined。

二:问题出现原因

  再加载页面时浏览器会把变量提前声明并赋初值为undefined,但是为什么会输出他本身会出现一个节点伪数组,而输出他的lenth属性会是0呢?那是因为输出他的lenth属性的语句在添加元素之前。他的初值就是undefined,同时也没有lenth属性。其本质就是我们在输出时他并没有他应该有的值而是undefined,在输出后才有他该有的值。

三:解决方案

  我们既然知道了事情的原因,我们就可以解决了。最简单的解决方案就是把这个语句放到计时器里边

setTimeout(function () {
      console.log(Food_Delete.length);
        }, 1000);

还有就是使用ES6里边的promise对象,通过每层函数的执行结果来实现一环套一环的函数执行。
还有就是使用生成器函数来解决。

### Spyder Python 3.13 变量浏览器 使用指南 Spyder 是一款强大的集成开发环境 (IDE),专为科学家、工程师和数据分析人员设计。它的变量浏览器是一个非常实用的功能,能够帮助用户直观地查看当前工作空间中的所有变量及其属性。 #### 1. **启动变量浏览器** 当打开 Spyder 后,默认情况下会显示变量浏览器窗口。如果没有看到该窗口,可以通过菜单栏 `View -> Panes` 中勾选 `Variable Explorer` 来启用它[^4]。 #### 2. **浏览变量** 在变量浏览器中,可以查看当前命名空间内的所有变量,包括它们的名字、类型、大小和其他相关信息。对于数组或 DataFrame 类型的数据结构,还可以双击变量名来进一步探索其具体内容。 #### 3. **创建新变量** 可以直接在 IPython 控制台输入代码创建新变量,这些变量将会自动出现在变量浏览器中。例如: ```python import numpy as np data = np.random.rand(10, 5) ``` 运行此代码后,变量 `data` 将会在变量浏览器中展示出来,并标明它是 NumPy 数组以及具体的维度信息[^4]。 #### 4. **修改现有变量** 通过右键点击某个变量并选择 “Edit” 菜单项,可以进入一个表格视图,在这里你可以手动更改数值。这对于调试过程中调整参数特别有用。 #### 5. **删除不需要的变量** 同样地,如果想清理掉不再使用的某些变量,则只需选中目标项再按 Delete 键即可完成清除动作;或者利用上下文菜单里的 Remove 功能达到相同效果。 #### 6. **保存/加载整个工作区状态** 有时可能希望保留当前所有的计算成果以便下次继续分析而无需重新执行全部脚本。此时可以用 File->Save Workspace As… 和 Load Workspace From… 这两个选项分别存档与恢复完整的 session 数据集合。 需要注意的是,虽然理论上任何版本间的差异不会影响基础功能的表现形式,但由于提到的具体 python 版本号较高(如 Python 3.13),实际兼容性和行为表现应参照最新发布的 spyder 文档说明确认是否存在特殊注意事项[^3]。 另外值得注意的一点是,不同解释器之间可能存在潜在冲突情况,比如同时安装了多个独立发行版像 Anaconda 或者 ArcGIS 自带的 python 解释器时需谨慎管理各自的 PATH 设置以免引起混乱[^2]。 最后提醒一下,尽管本文基于已有资料整理而成,但鉴于技术更新迭代迅速的特点,请始终查阅官方最新的 help 文件获取权威指导[^1]。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值