我正在尝试设计一个易于使用且界面友好的界面(即它可以帮助您输入错误的信息)。
我看过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})
等。
答案 0 :(得分:0)
JavaScript根本没有接口。接口的常用方法是结合“鸭子打字”的文档 - 例如,API接受一个对象并提供对象“像鸭子一样走路并像鸭子一样说话”(具有相关的方法和/或属性), API对该对象感到满意。
如果您想使用强类型,JavaScript不适合您。您可以考虑TypeScript,这是一种基于JavaScript的语言,可以添加输入,然后将其“编译”为JavaScript以进行部署(例如,它将在浏览器和支持JavaScript的其他环境中运行)。但这对你有用的程度取决于你如何发布API,以及它是如何被消费的。
另一个选择是为您的API设置一个“开发人员”模式,它对对象进行大量检查以确保它们符合预期的方法和属性集,然后是“发布”或“运行时”模式它假定事情会很好(以避免检查的运行时性能损失)。