【发布时间】:2023-04-02 18:43:01
【问题描述】:
我正在尝试设计一个易于使用且具有高可用性的界面(即它会帮助您不输入错误信息)。
我看过 Tizen web-api 的文档,我真的很喜欢这个结构。我想不通的是。是关于页面实现的信息还是只是文档?这是一个示例:ContactName 和 ContactNameInit
ContactName 是一个您可以在 javascript 中创建的对象,ContactNameInit 可以轻松创建。要创建 ContactName,您可以编写 var name = new ContactName({firstname: "james"});,这将创建属性 firstname 为 james 的对象。
该方法使用定义的类型/类和(如果文档是实现)简单使用interface 字。
这是我认为唯一值得实现的接口示例。我发现了一些链接,其中接口是通过创建的对象实现的,在我看来这不是接口,以及其他看起来错误的替代方案(尽管它们可能是正确的方式?)。示例:Interface in Javascript、Object oriented Javascript。
我想实现以下(此代码不起作用): (Tizen web-api Contact 的功能副本)
dictionary CarInit{
DOMString model;
// more attributes etc.
}
[Constructor(optional CarInit? carInitDict), Constructor(DOMString stringRepresentation)]
interface Car{
attribute DOMString? model;
// more attributes and methods, foo() for example.
}
我是否需要在我的 API 中实现更多内容才能使此代码正常工作?我可以让这段代码工作,还是只是文档?
在 Tizens 页面上有很多 ´type´? 这意味着需要输入类型。这是 javascript 标准、文档还是他们使用的东西?
如果以上所有这些都是错误的。
达到预期效果的最简单方法是什么?我想要的主要问题是对象的构造函数,以便您可以编写:var foo = new bar({foobie:value, barbie:value}) 等。
【问题讨论】:
-
“我想实现以下”之后的代码块不是 JavaScript 或任何接近它的东西。它可能是某种形式的 IDL。
-
这也是我最初的想法,但后来我看到了 Tizen 文档。这就是全部吗?文档易于阅读?如果是,为什么要使用伪代码 javascript?
-
@Yokich:正如我所说,它可能是某种形式的 IDL,但它与 JavaScript 无关。 IDL 具有实用性,因为它允许您以独立于语言的方式表达这些内容(就像 DOM 和 HTML5 规范对 DOM API 所做的那样)。这对于文档和自动化(例如,为符合 IDL 的对象自动生成代码框架)很有用。但是 JavaScript 没有内置任何类似的东西,这是一个单独的东西。
-
感谢您的意见。我将立即开始实施我的鸭子分析器
标签: javascript interface