You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中document.all是对象还是函数?

document.all 的类型归属判定

按照JavaScript常规类型分类规则判定,document.all 属于对象,不属于函数类型,判定依据如下:

  • 常规JS类型判定里,函数类型最直接的识别特征是typeof运算返回"function",但对document.all执行typeof得到的返回值是"undefined",完全不符合函数类型的判定标准。
  • 从现行Web标准定义来看,document.all是专门保留的历史遗留类数组集合对象,作用是兼容早年针对旧版IE编写的网页脚本,本质是页面内所有DOM元素的集合,和document.forms、document.images这类DOM集合对象属于同一分类。
  • 它的行为完全匹配普通集合对象的特征:自带length属性,支持通过索引、元素id/name属性访问集合内的具体DOM节点,不具备函数类型的标准属性——既没有函数实例默认携带的prototype属性,也不能直接使用函数原型上挂载的call()、apply()等内置方法。

补充说明:早期IE的私有实现里曾支持把document.all作为调用入口传参使用,但这属于单个浏览器的非标准兼容逻辑,不代表规范层面的类型定义,不能作为类型判定的通用依据。

内容的提问来源于stack exchange,提问作者Melab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 18:25:25