diff --git a/zh-cn/application-dev/napi/jsvm-debugger-cpuprofiler-heapsnapshot.md b/zh-cn/application-dev/napi/jsvm-debugger-cpuprofiler-heapsnapshot.md index 0573616b31fcc71c89d26fc7e839163b0a2d2eed..ca908dbb931757b2cfb07a9231ef600878aada2a 100644 --- a/zh-cn/application-dev/napi/jsvm-debugger-cpuprofiler-heapsnapshot.md +++ b/zh-cn/application-dev/napi/jsvm-debugger-cpuprofiler-heapsnapshot.md @@ -36,7 +36,7 @@ JSVM,即标准JS引擎,是严格遵守Ecmascript规范的JavaScript代码执 }] ``` -2. 为避免debugger过程中的暂停被误报为无响应异常,可以[开启DevEco Studio的Debug模式](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-debug-arkts-debug-V5)(无需设置断点),或者可以在非主线程的其他线程中运行JSVM。 +2. 为避免debugger过程中的暂停被误报为无响应异常,可以[debug启动调试](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-debug-arkts-debug-V5)(无需设置断点),或者可以在非主线程的其他线程中运行JSVM。 ```cpp // 在非主线程的其他线程中运行JSVM示例代码 static napi_value RunTest(napi_env env, napi_callback_info info) diff --git a/zh-cn/application-dev/napi/use-jsvm-about-JSON.md b/zh-cn/application-dev/napi/use-jsvm-about-JSON.md index 6dee1e1804fc38174fb78eaa1a39bdcd07edc550..dd806d9d776cbadb0119187243b93090d5f7c42a 100644 --- a/zh-cn/application-dev/napi/use-jsvm-about-JSON.md +++ b/zh-cn/application-dev/napi/use-jsvm-about-JSON.md @@ -87,9 +87,9 @@ JSVM_PropertyDescriptor descriptor[] = { ``` -## 预期结果: - +## 预期结果 +```ts Test JSVM jsonParseNumber: 10.555000 Test JSVM jsonParseNumber: {"first":"one","second":"two","third":"three"} - +``` diff --git a/zh-cn/application-dev/napi/use-jsvm-about-class.md b/zh-cn/application-dev/napi/use-jsvm-about-class.md index 086a838f671442947e1f793d26f2e2ee117f80a9..59171e94f1f1fc58ab2e1f76fe7c65480efca580 100644 --- a/zh-cn/application-dev/napi/use-jsvm-about-class.md +++ b/zh-cn/application-dev/napi/use-jsvm-about-class.md @@ -82,19 +82,19 @@ static JSVM_PropertyDescriptor descriptor[] = { #### 样例JS - +```ts const char *srcCallNative = R"JS( function Fruit(name) { this.name = name; } newInstance(Fruit, "apple"); )JS"; - +``` #### 执行结果 - 在LOG中输出下面的结果: +```ts NewInstance:{"name":"apple"} - +``` ### OH_JSVM_GetNewTarget 用于获取函数的元属性new.target值。在JavaScript中,new.target是一个特殊的元属性,用于检测函数或构造函数是否是通过 'new' 运算符被调用的。 @@ -182,15 +182,15 @@ static JSVM_PropertyDescriptor descriptor[] = { #### 样例JS - +```ts const char *srcCallNative = R"JS( defineClass(); )JS"; - +``` #### 执行结果 在LOG中输出下面的结果: - +```ts Create Instance NAPI MyObject::New newTarget != nullptr @@ -202,7 +202,7 @@ Create Instance NAPI MyObject::New newTarget == nullptr NewInstance:{"name":"lilei"} - +``` ### OH_JSVM_Wrap 在JavaScript对象中封装原生实例。稍后可以使用OH_JSVM_Unwrap()解包原生实例 @@ -295,17 +295,17 @@ static JSVM_PropertyDescriptor descriptor[] = { #### 样例JS - +```ts const char *srcCallNative = R"JS( class Obj {}; wrapObject(new Obj()); removeWrap(new Obj()); )JS"; - +``` #### 执行结果 在LOG中输出下面的结果: - +```ts JSVM wrap JSVM name: lilei @@ -317,7 +317,7 @@ JSVM removeWrap JSVM OH_JSVM_RemoveWrap success JSVM deref_item - +``` ### OH_JSVM_DefineClassWithOptions **Note:** 传入的父类class必须是通过OH_JSVM_DefineClass系列接口创建出来的,否则被视为无效参数,返回JSVM_INVALID_ARG错误码。 目前支持以下的DefineClassOptions: @@ -494,9 +494,12 @@ static JSVM_PropertyDescriptor descriptor[] = { ``` #### 样例JS - +```ts const char *srcCallNative = R"JS(testDefineClassWithOptions();)JS"; +``` #### 执行结果 在LOG中输出下面的结果: +```ts Run OH_JSVM_DefineClassWithOptions: Success +``` \ No newline at end of file diff --git a/zh-cn/application-dev/napi/use-jsvm-about-primitive.md b/zh-cn/application-dev/napi/use-jsvm-about-primitive.md index d6460645941455201851dfc96ee807eacaecf894..7f76456b9414e5f30a6e33ff1c603bc9f48268ba 100644 --- a/zh-cn/application-dev/napi/use-jsvm-about-primitive.md +++ b/zh-cn/application-dev/napi/use-jsvm-about-primitive.md @@ -376,7 +376,7 @@ JSVM OH_JSVM_GetGlobal success ### OH_JSVM_GetNull -用于获取JavaScript null +调用 JSVM 接口获取 JavaScript 的 null 值 cpp部分代码: @@ -417,7 +417,7 @@ JSVM OH_JSVM_GetNull success ### OH_JSVM_GetUndefined -用于获取JavaScript undefined +调用 OH_JSVM_GetUndefined 获取 JavaScript 的 undefined 值并返回 cpp部分代码: diff --git a/zh-cn/application-dev/napi/use-jsvm-about-property.md b/zh-cn/application-dev/napi/use-jsvm-about-property.md index c9577e4b624daba134b2a3ec3a9e58b329971096..3c670024dcf226cf16fab8529b5fb1a83bf2c7c6 100644 --- a/zh-cn/application-dev/napi/use-jsvm-about-property.md +++ b/zh-cn/application-dev/napi/use-jsvm-about-property.md @@ -239,7 +239,7 @@ JSVM OH_JSVM_HasProperty success:0 ### OH_JSVM_DeleteProperty 尝试从给定的Object中删除由key指定的属性,并返回操作的结果。 -如果对象是一个不可扩展的对象,或者属性是不可配置的,则可能无法删除该属性。 +如果对象是一个不可扩展的对象,或者属性是不可配置的,则无法删除该属性。 cpp部分代码: diff --git a/zh-cn/application-dev/napi/use-jsvm-about-string.md b/zh-cn/application-dev/napi/use-jsvm-about-string.md index 2b294d87505eecc8ba4dc93fd02bb1144e2abc98..e2c28cfd6eaf842cbab234da37c150aca0941c70 100644 --- a/zh-cn/application-dev/napi/use-jsvm-about-string.md +++ b/zh-cn/application-dev/napi/use-jsvm-about-string.md @@ -80,10 +80,10 @@ const char *srcCallNative = R"JS( ``` -预期输出结果: - +预期输出结果 +```ts ![GetValueStringUtf8](figures/jsvm_about_string_GetValueStringUtf8.png) - +``` **注意事项**:`getValueStringUtf8(arg)`入参`arg`非字符串型数据时接口会调用失败。 ### OH_JSVM_CreateStringUtf8 @@ -130,10 +130,10 @@ const char *srcCallNative = R"JS( ``` -预期输出结果: - +预期输出结果 +```ts ![CreateStringUtf8](figures/jsvm_about_string_CreateStringUtf8.png) - +``` ### OH_JSVM_GetValueStringUtf16 OH_JSVM_GetValueStringUtf16,将JavaScript的字符类型的数据转换为utf16编码的字符。 @@ -194,10 +194,10 @@ const char *srcCallNative = R"JS( ``` -预期输出结果: - +预期输出结果 +```ts ![GetValueStringUtf16](figures/jsvm_about_string_GetValueStringUtf16.png) - +``` **注意事项**:`getValueStringUtf16(arg)`入参`arg`非字符串型数据时接口会调用失败。 ### OH_JSVM_CreateStringUtf16 @@ -251,10 +251,10 @@ const char *srcCallNative = R"JS( ``` -预期输出结果: - +预期输出结果 +```ts ![CreateStringUtf16](figures/jsvm_about_string_CreateStringUtf16.png) - +``` ### OH_JSVM_GetValueStringLatin1 OH_JSVM_GetValueStringLatin1接口可以将JavaScript的字符类型的数据转换为ISO-8859-1编码的字符。 @@ -305,12 +305,12 @@ const char *srcCallNative = R"JS( ``` -预期输出结果: - -*ISO-8859-1编码不支持中文,传入中文字符会导致乱码* +预期输出结果 +```ts +*ISO-8859-1编码不支持中文,传入中文字符会乱码* ![GetValueStringLatin1](figures/jsvm_about_string_GetValueStringLatin1.png) - -**注意事项**:`getValueStringLatin1(arg)`入参`arg`必须为字符串类型,否则将导致调用失败。 +``` +**注意事项**:`getValueStringLatin1(arg)`入参`arg`非字符串型数据时接口会调用失败。 ### OH_JSVM_CreateStringLatin1 @@ -360,6 +360,7 @@ const char *srcCallNative = R"JS( ``` -预期输出结果: - +预期输出结果 +```ts ![CreateStringLatin1](figures/jsvm_about_string_CreateStringLatin1.png) +``` \ No newline at end of file diff --git a/zh-cn/application-dev/napi/use-jsvm-about-v8-trace.md b/zh-cn/application-dev/napi/use-jsvm-about-v8-trace.md index 16e3fe04e7ea8f28c4e538448f6b60be434b1ed1..3c43dca7f4eb811a024027dc22fcf2945be92586 100644 --- a/zh-cn/application-dev/napi/use-jsvm-about-v8-trace.md +++ b/zh-cn/application-dev/napi/use-jsvm-about-v8-trace.md @@ -19,7 +19,7 @@ hdc shell setenforce 0 hdc shell param set web.debug.rcs true ``` 2. 启动web场景,可以看到hilog中有“RCS is on”的日志打印输出 -3. 使用hitrace工具抓取对应场景的trace,hitrace使用方法可参考[hitrace使用指导文档](../dfx/hitrace.md)。 +3. 使用hitrace工具抓取对应场景的trace。hitrace使用方法可参考[hitrace](../dfx/hitrace.md)。 4. 使用HiSmartPerf工具解析抓取到的trace,可以看到有“RCS_”前缀的trace点,即为V8对接到HiSmartPerf中的trace点。 5. 要查看compile、runtime、builtin、JS_Execution不同类别的trace数据,可使用以下关键字进行过滤: - compile:RCS_v8.compile diff --git a/zh-cn/application-dev/napi/use-jsvm-about-version.md b/zh-cn/application-dev/napi/use-jsvm-about-version.md index 4430fe1f26053e8f582bf8644bf778ccba1751ab..5444a9e722f84c9c7ec2aadbf96e8e46644db9c7 100644 --- a/zh-cn/application-dev/napi/use-jsvm-about-version.md +++ b/zh-cn/application-dev/napi/use-jsvm-about-version.md @@ -2,7 +2,7 @@ ## 简介 -用于获取当前版本信息。 +接口代码用于获取当前JSVM API的版本信息。 ## 接口说明 diff --git a/zh-cn/application-dev/napi/use-jsvm-heapstatistics-debugger-cpuprofiler-heapsnapshot.md b/zh-cn/application-dev/napi/use-jsvm-heapstatistics-debugger-cpuprofiler-heapsnapshot.md index 8727ced17f55c860e79f89f85c0f26b7b0cc7d23..8c412ff3311572816fa533a376666ad3dc3047b5 100644 --- a/zh-cn/application-dev/napi/use-jsvm-heapstatistics-debugger-cpuprofiler-heapsnapshot.md +++ b/zh-cn/application-dev/napi/use-jsvm-heapstatistics-debugger-cpuprofiler-heapsnapshot.md @@ -163,7 +163,7 @@ JSVM API heap usedGlobalHandlesSize: 32 以下接口的示例代码可以参考链接: -[JSVM调试调优能力](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/napi/jsvm-debugger-cpuprofiler-heapsnapshot.md) +[JSVM-API调试&定位](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/napi/jsvm-debugger-cpuprofiler-heapsnapshot.md) ### OH_JSVM_StartCpuProfiler diff --git a/zh-cn/application-dev/napi/use-jsvm-memory-management.md b/zh-cn/application-dev/napi/use-jsvm-memory-management.md index 1ec197d29c1f0b72847c4b4e59c0e467c26f3e49..c84f0d899b66eede1bcca55615d064596a8f8d87 100644 --- a/zh-cn/application-dev/napi/use-jsvm-memory-management.md +++ b/zh-cn/application-dev/napi/use-jsvm-memory-management.md @@ -63,12 +63,13 @@ static JSVM_PropertyDescriptor descriptor[] = { ```c++ const char *srcCallNative = R"JS(adjustExternalMemory())JS"; ``` - -输出结果: -在LOG中输出以下信息: + +输出结果 +在LOG中输出下面的信息: +```ts JSVM OH_JSVM_AdjustExternalMemory: success JSVM Allocate memory size: 1048576 - +``` ### OH_JSVM_MemoryPressureNotification 通知虚拟机系统内存不足并有选择地触发垃圾回收 @@ -109,8 +110,10 @@ static JSVM_PropertyDescriptor descriptor[] = { ```c++ const char *srcCallNative = R"JS(memoryPressureNotification())JS"; ``` - -输出结果: -在LOG中输出以下信息: + +输出结果 +在LOG中输出下面的信息: +```ts JSVM OH_JSVM_MemoryPressureNotification: success -JSVM Current JSVM memory pressure level: 2 \ No newline at end of file +JSVM Current JSVM memory pressure level: 2 +``` \ No newline at end of file diff --git a/zh-cn/application-dev/napi/use-jsvm-trigger-exceptions.md b/zh-cn/application-dev/napi/use-jsvm-trigger-exceptions.md index 0c35f9c5d02ee5ed670154db33a2d735af6eef80..2cd113dbffdc63fd6c3ae1537ec99f64344cd768 100644 --- a/zh-cn/application-dev/napi/use-jsvm-trigger-exceptions.md +++ b/zh-cn/application-dev/napi/use-jsvm-trigger-exceptions.md @@ -83,12 +83,15 @@ static JSVM_PropertyDescriptor descriptor[] = { }; ``` #### 样例测试JS - +```ts const char *srcCallNative = R"JS(triggerOOMError();)JS"; - +``` #### 执行结果 -在LOG中输出: JSVM Trigger OOM-Error: success +在LOG中输出:  +```ts +JSVM Trigger OOM-Error: success +``` ### OH_JSVM_SetHandlerForFatalError 通过OH_JSVM_SetHandlerForFatalError,用户可以设置处理Fatal Error的函数。当多次调用这个API进行函数设置时,仅最后一次设置会生效。当用户传入的设置函数为NULL时,则表示取消之前设置的处理函数。 @@ -148,13 +151,15 @@ static JSVM_PropertyDescriptor descriptor[] = { }; ``` #### 样例测试JS - +```ts const char* srcCallNative = R"JS(triggerFatalError())JS"; +``` +#### 执行结果 -#### 执行结果: - -在LOG中输出: JSVM Trigger Fatal-Error: success - +在LOG中输出:  +```ts +JSVM Trigger Fatal-Error: success +``` ### OH_JSVM_SetHandlerForPromiseReject 通过OH_JSVM_SetHandlerForPromiseReject,用户可以设置处理Promise Reject的函数。当多次调用这个API进行函数设置时,仅最后一次设置会生效。当用户传入的设置函数为NULL时,则表示取消之前设置的处理函数。 #### cpp部分代码: @@ -222,9 +227,11 @@ static JSVM_PropertyDescriptor descriptor[] = { }; ``` #### 样例测试JS - +```ts const char* srcCallNative = R"JS(triggerPromiseReject())JS"; - -#### 执行结果: - -在LOG中输出: JSVM Trigger PromiseReject: success \ No newline at end of file +``` +#### 执行结果 +在LOG中输出:  +```ts +JSVM Trigger PromiseReject: success +``` diff --git a/zh-cn/application-dev/napi/use-jsvm-trigger-gc.md b/zh-cn/application-dev/napi/use-jsvm-trigger-gc.md index 5eb6b529b2105f01dcc78055ac75d55faafd57b1..e97509e8bf050face40092b20447962eb9e48c0c 100644 --- a/zh-cn/application-dev/napi/use-jsvm-trigger-gc.md +++ b/zh-cn/application-dev/napi/use-jsvm-trigger-gc.md @@ -131,10 +131,12 @@ static JSVM_PropertyDescriptor descriptor[] = { }; ``` #### 样例测试JS +```ts const char *srcCallNative = R"JS(triggerGC();)JS"; - +``` #### 执行结果 在LOG中输出下面结果: +```ts == before GC == gc type: 4 gc flag: 4 @@ -143,3 +145,4 @@ gc type: 4 gc flag: 4 data: 2024 JSVM Trigger GC: success +``` \ No newline at end of file