gpt4 book ai didi

java - JSNI:JavaScriptObject 和 Element JSNI 函数参数的区别?

转载 作者:行者123 更新时间:2023-11-28 04:57:01 24 4
gpt4 key购买 nike

使用 GWT JSNI JavaScriptObject 和 Element 作为 JSNI 方法的参数类型有什么区别?

考虑以下方法:

native void method(JavaScriptObject inputFile) /*-{

}-*/;

还有这个:

native void method(Element inputFile) /*-{

}-*/;

如果我使用 JavaScriptObject 或 Element,内部 JSNI 函数会有什么不同吗?

最佳答案

一个Element是一个JavaScriptObject,但反过来不成立,并不是所有的java脚本对象都是dom元素。

从 Java 的 Angular 来看,这很重要 - 它确保您不会传递一些没有意义的东西,例如 Window 实例或一些 json 数据,而只传递真正的元素。

从 JSNI 方法内部的 JavaScript 的 Angular 来看,这没有区别,因为 JS 不理解这些术语中的类型,并且期望传入的任何对象都具有正确的方法和字段。

在所有其他条件相同的情况下,更清晰 - 在有意义时使用 Element,或者至少添加 javadoc 或命名参数以使其清晰。 Java、GWT 和 Javascript 都不会关心您是否指定了 JSO 而不是 Element,但是如果您不小心传入了一个非 Element 而该方法需要一个元素,您可能会得到一个错误。

关于java - JSNI:JavaScriptObject 和 Element JSNI 函数参数的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21049839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com