# Webview的runJavaScript和runJavaScriptExt有什么区别，在页面生命周期（如onPageShow、onPageEnd）的什么时候进行调用

二者均可异步执行JavaScript脚本，并通过回调或Promise返回执行结果。

区别上讲，runJavaScript返回脚本执行的结果只能是string，而runJavaScriptExt可以返回的类型支持JsMessageType，包括字符串、数组类型等。

runJavaScript参数：

| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| script | string | 是 | JavaScript脚本。 |
| callback | AsyncCallback | 是 | 回调函数执行JavaScript脚本结果。JavaScript脚本若执行失败或无返回值时，返回null。 |

runJavaScriptExt参数：

| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| script | string | 是 | JavaScript脚本。 |
| callback | AsyncCallback | 是 | 回调执行JavaScript脚本结果。 |

在调用时间上，二者均需在loadUrl完成后，例如在onPageEnd中调用。