gpt4 book ai didi

javascript - 为什么我无法在 JavaScript 中获取导航器对象的属性计数?

转载 作者:数据小太阳 更新时间:2023-10-29 04:31:59 25 4
gpt4 key购买 nike

在浏览器中运行(ES5+)

var propCount = Object.keys(navigator).length;
console.log(propCount); // 0

如果你对这样的普通对象这样做

let obj = {
foo: 'bar',
breaking: 'bad'
}

let propCount = Object.keys(obj).length;

console.log(propCount); // 2

为什么会这样?

很抱歉,如果它可能与另一个问题有关,例如当 Object.keys(obj) 仅针对不包含 functions/arrays 的简单对象计算它时,但这我第一次遇到它。

并想知道其中的原因。

最佳答案

Object.keys() 函数返回直接分配给它的对象的属性。如果您执行以下操作:

console.log(navigator.hasOwnProperty('permissions')); // false

如果您想查看导航器的属性,请执行以下操作:

for(let i in navigator){
console.log(i);
}

它将列出 navigator 对象的所有属性,因为 for ... in ... 循环包括对象的原型(prototype)。

关于javascript - 为什么我无法在 JavaScript 中获取导航器对象的属性计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37229784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com