HarmonyOS鸿蒙Next中webview调试console.log对象为什么输出的是[object object]

HarmonyOS鸿蒙Next中webview调试console.log对象为什么输出的是[object object] 鸿蒙的 webview 调试 console.log 对象为什么输出的是 [object object]

为什么没有序列化

cke_154.png


更多关于HarmonyOS鸿蒙Next中webview调试console.log对象为什么输出的是[object object]的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

在使用console.log打印一个对象的时候,对象的默认字符串形式是[object object],而不是对象的详细属性,在JS中一个对象的toString方法返回的字符串即为默认形式:[object object]。推荐写法如下:

console.log(JSON.parse(JSON.stringify(obj)))

更多关于HarmonyOS鸿蒙Next中webview调试console.log对象为什么输出的是[object object]的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


去掉大括号

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

试试 console.dir ?

应该是 ArkWeb 的 Chromium 内核太旧了,不支持或没实现。

Web内核版本:ArkWeb基于谷歌Chromium内核开发,使用的Chromium版本为:

系统版本 Chromium版本
OpenHarmony 4.0及之前 M99
OpenHarmony 4.1-5.1 M114
OpenHarmony 6.0 M132

在HarmonyOS鸿蒙Next中,WebView的console.log输出[object Object]是因为JavaScript对象默认以字符串形式显示。这是标准行为,表示对象无法直接转换为可读字符串。若需查看对象内容,可使用JSON.stringify()方法转换为JSON字符串输出,例如console.log(JSON.stringify(yourObject))。鸿蒙WebView遵循常规Web标准,无特殊处理机制。

在HarmonyOS Next的WebView中,console.log输出[object Object]是JavaScript引擎对对象默认的字符串表示方式,这是符合ECMAScript规范的标准行为。对象在未显式定义toString()方法时,默认返回该格式字符串。

若需查看对象具体内容,可通过以下方式调试:

  1. 使用JSON.stringify(obj)序列化输出
  2. 使用console.dir(obj)展开对象结构
  3. 在DevTools中直接查看对象属性(需开启远程调试)

这是JavaScript的通用特性,并非鸿蒙系统独有。

回到顶部