Javascript JSON.stringify在navigator.connection上不工作如何解决?
在第二个控制台上,它显示一些数据,但在第一个控制台日志上为空。我如何解决这个问题Javascript JSON.stringify在navigator.connection上不工作如何解决?,javascript,Javascript,在第二个控制台上,它显示一些数据,但在第一个控制台日志上为空。我如何解决这个问题 var Network\u data=navigator.connection; log(JSON.stringify(Network_data)); 控制台日志(网络数据)JSON.stringify不起作用,因为对象本身没有任何属性,它们都属于其父对象。您应该使用for in循环来获取每个键 var networkData={}; for(navigator.connection中的var键){ if(导航
var Network\u data=navigator.connection;
log(JSON.stringify(Network_data));
控制台日志(网络数据)代码>JSON.stringify
不起作用,因为对象本身没有任何属性,它们都属于其父对象。您应该使用for in
循环来获取每个键
var networkData={};
for(navigator.connection中的var键){
if(导航器类型.连接[键]!=“功能”){
networkData[key]=navigator.connection[key];
}
}
log(JSON.stringify(networkData));
console.log(networkData)代码>如果您不需要任何可以使用的原型属性
const { downlink, effectiveType, onchange, rtt, saveData } = navigator.connection;
console.log(JSON.stringify({ downlink, effectiveType, onchange, rtt, saveData }));`
只想在nick的正确答案中添加一点:JSON.stringify
不会序列化继承的属性,而只序列化对象所拥有的属性,也不会序列化函数和循环引用
作为证明,在实例上运行将返回一个空集,因为navigator.connection
不拥有任何属性
console.log(Object.keys(navigator.connection))代码>您在网络数据中存储了什么数据?如果我没有错的话,这是因为“function addEventListener(){[native code]}”只是想知道为什么要这样做?