如题:JSVM - API支持的数据类型有哪些,各自的作用是什么?
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
如题:JSVM - API支持的数据类型有哪些,各自的作用是什么?
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
1 回答1.1k 阅读✓ 已解决
1 回答1.3k 阅读
1 回答1.2k 阅读
1 回答1.1k 阅读
1 回答1.1k 阅读
1 回答971 阅读
1 回答945 阅读
JSVM - API支持的数据类型及其作用如下:
JSVM_Status
:枚举类型,表示接口返回的状态信息,用于判断操作成功与否,如JSVM_OK
表示成功,其他值表示各种错误或异常情况。JSVM_ExtendedErrorInfo
:结构体,在函数调用不成功时存储详细错误信息,包括错误消息、引擎保留信息、引擎错误码和错误状态码等,帮助开发者定位问题。JSVM_Value
:在C++代码中表示一个JavaScript值,用于在C++与JavaScript之间传递数据。JSVM_Env
:表示JSVM - API执行时的上下文,是Native侧函数入参并在函数中传递给其他JSVM - API接口,需注意其生命周期和线程相关限制,如禁止缓存、不同线程间共享时的处理要求等。JSVM_ValueType
:表示JSVM_Value
的类型,涵盖了ECMAScript语言规范中的常见类型,其中JSVM_EXTERNAL
表示外部数据类型。JSVM_TypedarrayType
:TypedArray的基本二进制标量数据类型,用于处理特定类型的数组数据。JSVM_RegExpFlags
:正则表达式标志位,用于设置正则表达式的各种属性,如全局匹配、忽略大小写等。编译选项相关类型:
JSVM_CompileOptions
:配合编译接口使用,其元素包含id
(指定选项类型)和content
(根据id
类型不同而不同,如指针、整数、布尔值等),用于传递编译相关的各种参数。JSVM_CompileOptionId
:JSVM_CompileOptions
中id
的对应类型,每个值对应特定的编译选项内容类型,如JSVM_COMPILE_MODE
对应编译模式类型等。JSVM_CompileMode
:当id
为JSVM_COMPILE_MODE
时content
的类型,代表不同的编译模式,如默认模式、消费代码缓存模式等。JSVM_CodeCache
:当id
为JSVM_COMPILE_CODE_CACHE
时content
的类型,用于存储代码缓存相关信息,包括缓存指针和长度。JSVM_ScriptOrigin
:当id
为JSVM_COMPILE_SCRIPT_ORIGIN
时content
的类型,存放待编译的源码信息,如源文件的sourceMapUrl、资源名、行列偏移等。内存管理类型:
JSVM_HandleScope
:管理JavaScript对象的生命周期,确保在其范围内创建的对象在合适时机被回收,提高代码可靠性和性能。JSVM_EscapableHandleScope
:特殊句柄范围,用于将范围内创建的值返回给父scope,通过相关接口提升到JavaScript对象以便外部作用域使用。JSVM_Ref
:指向JSVM_Value
,允许用户管理JavaScript值的生命周期。JSVM_TypeTag
:结构体,用128位值标记JavaScript对象类型,结合OH_JSVM_Wrap
使用可确保安全类型转换,比OH_JSVM_Instanceof
提供更强的类型检查。回调类型:
JSVM_CallbackInfo
:表示用户定义的Native函数暴露给JavaScript的接口,一般不在此回调中创建Handle或CallbackScope。JSVM_CallbackStruct
:包含用户提供的Native函数的回调函数指针和数据,通过JSVM - API暴露给JavaScript。JSVM_Callback
:定义用户定义的Native函数暴露给JavaScript的接口,使用时有一定限制。JSVM_Finalize
:函数指针,用于在对象被回收时释放Native对象,传入特定接口。JSVM_PropertyHandlerConfigurationStruct
:执行对象属性相关操作(如getter、setter等)时触发的回调结构体,包含各种属性操作的回调函数指针。JSVM_PropertyHandlerCfg
:包含属性监听回调结构的指针类型。本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。