为何控制台显示‘[object File]’而非File对象本身?Windows 7环境求助
File对象打印显示
[object File]的原因及解决办法 这不是你的电脑问题,是JavaScript对象打印的默认行为导致的。你代码中的name本身就是File对象,但直接用console.log()打印对象时,Windows 7环境下常用的旧版浏览器(比如旧版Chrome、IE)会默认调用对象的toString()方法,而File对象的toString()方法返回值就是[object File],所以控制台只会显示这个字符串,不会展示对象的具体结构。
查看File对象具体内容的方法:
- 使用
console.dir(name):这个方法会以树形结构展开对象的所有属性和对应值,方便查看File对象的详细信息 - 直接打印对象的具体属性,比如文件名、文件大小:
console.log(name.name, name.size)
另外你的代码存在语法错误,for循环的闭合大括号位置不正确,修正后的代码如下:
fs.addEventListener('change', function () { for (const name of this.files) { console.log(name); } });
内容的提问来源于stack exchange,提问作者user20742467
相关产品推荐
相关产品推荐

