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

为什么由getElementByClassName生成的集合被js视为长度为0而不是0,特别是当console.loged

getElementByClassName生成的集合被JavaScript视为长度为0而不是0,是因为该方法返回的是一个类数组对象,而不是一个真正的数组。虽然类数组对象具有类似数组的结构,但它没有数组的一些方法和属性,例如length属性。

当使用console.log输出一个类数组对象时,控制台会显示该对象的内容,而不是仅仅显示长度。因此,当输出一个长度为0的类数组对象时,控制台会显示一个空的对象,而不是显示数字0。

要获取类数组对象的长度,可以使用length属性。例如,可以通过document.getElementsByClassName('className').length来获取由getElementByClassName生成的集合的长度。

需要注意的是,getElementByClassName返回的是一个动态集合,它会随着文档的变化而自动更新。这意味着如果在获取集合后,文档中的元素发生了变化(例如添加或删除了符合指定类名的元素),集合的长度也会相应地改变。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版(CDB):https://cloud.tencent.com/product/cdb
  • 云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iothub
  • 移动推送服务(信鸽):https://cloud.tencent.com/product/tpns
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云游戏引擎(GSE):https://cloud.tencent.com/product/gse

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ES6语法

n不是数字会被转成数字,n<=-1报错;-1<n<0,n=NAN解果都为0 str.padStart(n,"xyz")从前面补全字符串,生成新字符串 str.padEnd(n,"y")从后面补全字符串...负数从后往前数 负大于长度0 arr.flat(n);拉平数组 用infinity做参数,无论多少维数组都能拉平一层 arr.flatMap(function(v,i){ 对每个元素进行处理(map...,filter跳过空元素 map跳过但保留元素显示(empty) join,toString将空元素视为undefined,undefined和null视为空 Array.from(),...将空视为...| |则代表前面的表达式是null或者undefined或者false 或者0才会执行后面的。...Symbol()没有new ,不是对象,类似字符串 let s=Symbol("js")参数只是个描述,用于不同Symbol之间区分,获取这个参数描述:s.description Symbol可以转换字符串和布尔值

7910

前端(三)-JavaScript

NaN表示 ; Infinity; Infinity表示无限大,数值超过了JavaScriptNumber所能表示最大值时,就 表示Infinity; 1.3 strict模式 JavaScript...每个元素都用指定字符串连接起 来,然后返回连接后字符串: 1.6 对象 JavaScript对象是一种无序集合数据类型,它若干键值对组成。...**索引视为对象属性**,所以**遍历出来是下标**; var a = ['A', 'B', 'C']; for (var i in a) { console.log(i); // '0',...'1', '2' console.log(a[i]); // 'A', 'B', 'C' } //请注意,for... in 对 Array 循环得到是 String 不是 Number...返回对拥有指定id第一个对象引用 getElementByName() 返回带有指定name值对象集合 getElementByTagName() 返回带有指定标签对象集合 getElementByClassName

85820

Redis五种数据类型及命令操作(一)

字符串长度小于1M时,扩容都是加倍现有的空间,如果超过1M,扩容时一次会多扩容1M空间。我们要注意是字符串最大长度512M。...如果 key 不存在,则 key 解释一个空列表,返回 0 。如果 key 不是列表类型,返回一个错误。...但是 key 不存在时, key 视为空列表,不执行任何操作指令。如果 key 不是列表类型,返回一个错误。 返回值: 如果命令执行成功,返回插入操作完成之后,列表长度。...移除集合 key 中一个或多个 member 元素,不存在 member 元素会被忽略。 key 不是集合类型,返回一个错误。 返回值: 成功移除元素数量,不包括忽略元素。...sdiff:取多个集合差集 SDIFF key [key ...] 返回一个集合全部成员,该集合是所有给定集合之间差集。 不存在 key 视为空集。

34050

每天10个前端小知识 【Day 14】

浏览器会下载HTML解析页面生成DOM树,遇到CSS标签就开始解析CSS,这个过程不会阻塞,但是如果遇到了JS脚本,此时假如CSSOM还没有构建完,需要等待CSSOM构建完,再去执行JS脚本,然后再执行...; flex-basis: 0%; } flex 取值一个长度或百分比,则视为 flex-basis 值,flex-grow 取 1,flex-shrink 取 1,有如下等同情况(注意...0% 是一个百分比不是一个非负数字) .item-1 {flex: 0%;} .item-1 { flex-grow: 1; flex-shrink: 1; flex-basis...} flex 取值两个非负数字,则分别视为 flex-grow 和 flex-shrink 值,flex-basis 取 0%,如下是等同: .item {flex: 2 3;} .item...{ flex-grow: 2; flex-shrink: 3; flex-basis: 0%; } flex 取值一个非负数字和一个长度或百分比,则分别视为 flex-grow

10610

Redis必知必会

其自身占据1字节或5字节: 如果前一节点长度小于254字节,则“pel”属性长度1字节,前一节点长度就保存 在这一个字节内; 如果前一节点长度达到254字节,则“pel”属性长度5字节,其中第一个字节设置...跳跃表实现 提到跳跃表之前,先看一下普通链表,链表插入、删除复杂度O(1),查找复杂度O(N);明显查找效率成本是比较高特别是在数据量很大情况下。...对象引用计数 refcount属性用于记录对象引用次数: 在创建一个新对象时,引用计数值会被初始化为1 对象一个新程序使用时,它引用计数值加1 对象不再被某个程序使用时,它引用计数会减...服务器需要用到值0到9999字符串对象时,就会使用这些共享对象,不是创建新对象。 ---- Redis对象类型与编码 字符串 embstr和 raw编码都采用 SDS来存储字符串。...不是每个字节位索引。 bitpos命令 返回字符串中设置 1 或 0 第一位位置。注意是第一个位置。

94920

web前端开发初学者十问集锦(4)

为什么浮动元素可以撑开父级容器,浮动元素不是已经脱离文档流,不占用父容器空间了吗? 原来,如果对父容器同时进行浮动,那么浮动元素就可以撑开浮动父容器了。...其中一个内部属性是[[Scope]],ECMA-262标准第三版定义,该内部属性包含了函数创建作用域中对象集合,这个集合被称为函数作用域链,它决定了哪些数据能函数访问。...注册事件结束后,i4,点击按钮时,事件函数即function(){ alert(“Button”+i);}这个匿名函数中没有i,根据作用域链,所以到buttonInit函数中找,此时i4...这里也说明了一个问题,函数体内局部变量var i; 在函数执行完毕后并没有销毁,依然保持着上次离开函数体时值。 (5)JS变量销毁 为什么没有销毁,那么JS中变量什么时候才会被销毁呢?...来个定义总结: a.可以访问外部函数作用域中变量函数; b.内部函数访问外部函数变量可以保存在外部函数作用域内不被回收—这是核心,后面我们遇到闭包都要想到,我们要重点关注闭包引用这个变量

1.3K20

Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(九)

更准确地说,导数定义通过该点x[0]和函数上另一点x直线斜率极限,x无限接近x[0]时(参见方程 B-2)。 方程 B-2....但也可以在不构建图形情况下运行正向模式自动微分(即数值上,不是符号上),只需在运行时计算中间结果。...反向模式自动微分是一种非常强大和准确技术,特别是输入很多输出很少时,因为它只需要一个前向传递加上一个反向传递来计算所有输出相对于所有输入所有偏导数。...张量中,字符串长度不是张量形状一部分。...换句话说,字符串视为原子值。但是,在 Unicode 字符串张量(即 int32 张量)中,字符串长度是张量形状一部分。

5900

JavaScript中数组创建

,itemN]不是构造器 newArray(item1,item2,...,itemN)来创建数组。主要原因是数组字面量写法更短,更简单。...一个长度 3稀疏数组 items创建了,但实际上它并不包含任何元素只是有几个空slot。 这种创建数组方式本身并没有什么价值。...然而把它和一些静态方法组合起来用于创建指定长度数组并填充生成元素时却是有用。 2.2 枚举元素 如果调用 Array构造器时传入了一个参数列表不是单个数字,那么这些参数就会成为数组元素。...0, 0, 0, 0] 一个通过 newArray(5)创建长度 5稀疏组数作为参数传递给 Array.from()。...索引参数用来生成元素: index+1。 Array.from()第一个参数可以接受任何可迭代对象,这使得它更有价值。

3.4K10

介绍下 Set、Map、WeakSet 和 WeakMap 区别?

集合(Set) ES6 新增一种新数据结构,类似于数组,但成员是唯一且无序,没有重复值。 Set 本身是一种构造函数,用来生成 Set 数据结构。...WeakSet WeakSet 对象允许你将弱引用对象储存在一个集合中 WeakSet 与 Set 区别: WeakSet 只能储存对象引用,不能存放值, Set 对象都可以 WeakSet 对象中储存对象值都是弱引用...上可知,Map 键实际上是跟内存地址绑定,只要内存地址不一样,就视为两个键。...如果 Map 键是一个简单类型值(数字、字符串、布尔值),则只要两个值严格相等,Map 将其视为一个键,比如0和-0就是一个键,布尔值true和字符串true则是两个不同键。...WeakMap WeakMap 对象是一组键值对集合,其中键是弱引用对象,值可以是任意。 注意,WeakMap 弱引用只是键名,不是键值。键值依然是正常引用。

1.6K20

2023 跟我一起学算法:数据结构和算法-数组

数组是存储在连续内存位置相同变量类型项目的集合。它是最流行和最简单数据结构之一,通常用于实现其他数据结构。数组中每个项目都从 0 开始索引。...**数组长度:**数组长度它可以包含元素数量决定。 数组表示 数组表示可以通过其声明来定义。声明意味着给定大小数组分配内存。 数组可以用不同语言以不同方式声明。...一维数组 二维数组: 2-D多维数组可以视为数组数组,也可以视为由行和列组成矩阵。 二维阵列 三维数组: 3-D多维数组包含三个维度,因此可以将其视为二维数组数组。...当在 Java 中使用数组不是列表时: 当我们需要多维结构来存储数据时,我们使用数组不是列表,因为列表只能是一维。 如果我们需要固定长度和静态分配,则使用数组不是列表。...需要更快地处理数据时,可以使用数组不是列表。 原始数据类型可以直接存储在数组中,但不能存储在列表中,因此,我们使用数组不是列表。

13040

mysql密码字段类型_MySQL 字段类型

;此处宽度指示器作用在于该字段是否有zerofill,如果有就未满足6位部分就会用0来填充),这样从数据库检索一个值时,可以把这个值加长到指定长度。...(注意,测试前导0时候,还是去黑窗口测试;) 为什么mysql存储值要分有符号和无符号呢?... VARCHAR 类型把它视为最大值并且只使用存储字符串实际需要长度(增加一个额外字节来存储字符串本身长度)来存储值。...需要注意是,没有冒号分隔符 TIME 类型值,将会被 MySQL 理解持续时间,不是时间戳。...虽然这些类型在技术上是字符串类型,但是可以视为不同数据类型。一个 ENUM 类型只允许从一个集合中取得一个值; SET 类型允许从一个集合中取得任意多个值。

14.4K20

【MySQL】03_数据类型

数据类型 字节数 含义 DECIMAL(M,D),DEC,NUMERIC M+2字节 有效范围M和D决定 DECIMAL(M,D) 是一个高精度小数,M 称作精度(0 ~ 65),D 称为标度(0...为什么时间类型 TIME 取值范围不是 -23:59:59~23:59:59 呢?...取值01到69时,表示2001到2069; 取值70到99时,表示1970到1999; 取值整数0或00添加的话,那么是0000年; 取值是日期/字符串'0'添加的话,是2000年。...取值范围最大 一般需要计算日期数据建议使用 时间戳,不是 DATETIME存储(如商品发布时间 文本字符串类型 ---- 在实际项目中,我们还经常遇到一种数据,就是字符串数据。...① BLOB和TEXT值也会引起自己一些问题,特别是执行了大量删除或更新操作时候。删除这种值会在数据表中留下很大" 空洞 ",以后填入这些"空洞"记录可能长度不同。

2K30

Java 15废弃偏向锁,谈谈Java Synchronized 锁机制

工作原理 Java Monitor 工作原理如图: ? 多个线程同时访问一段同步代码时,多个线程会先存放在 EntryList 集合中,处于 block 状态线程,都会被加入到该 列表。...偏向锁 为什么要有偏向锁呢?偏向锁主要用来优化同一线程多次申请同一个锁竞争。可能大部分时间一个锁都是一个线程持有和竞争。...对象当做同步锁并有一个线程抢到了锁时,锁标志位还是 01,“是否偏向锁”标志位设置 1,并且记录抢到锁线程 ID,表示进入偏向锁状态。 一旦出现其它线程竞争锁资源,偏向锁就会被撤销。...撤销时机是在全局安全点,暂停持有该锁线程,同时坚持该线程是否还在执行该方法。是则升级锁;不是其它线程抢占。...Synchronized 锁是 JVM 实现。 偏向锁已经废弃了。

1.4K20

Java 15废弃偏向锁,谈谈Java Synchronized 锁机制

工作原理 Java Monitor 工作原理如图: [2020-12-06-084018.jpg] 多个线程同时访问一段同步代码时,多个线程会先存放在 EntryList 集合中,处于 block...对象当做同步锁并有一个线程抢到了锁时,锁标志位还是 01,“是否偏向锁”标志位设置 1,并且记录抢到锁线程 ID,表示进入偏向锁状态。 一旦出现其它线程竞争锁资源,偏向锁就会被撤销。...撤销时机是在全局安全点,暂停持有该锁线程,同时坚持该线程是否还在执行该方法。是则升级锁;不是其它线程抢占。...Mark Word 线程 ID 不是自己线程 ID,就会进行 CAS 操作获取锁: 成功,直接替换 Mark Word 中线程 ID 当前线程 ID,该锁会保持偏向锁。...Synchronized 锁是 JVM 实现。 偏向锁已经废弃了。

61251
领券