草庐IT

接口封装

全部标签

javascript - Typescript 接口(interface)中的日期在检查时实际上是字符串

不幸的是,重现此代码的总代码会很长,所以我希望我的问题很明显,我可以轻松提供。如果需要,我会发布更完整的解决方案。首先,我定义了一个接口(interface):exportinterfaceITest{myDate:Date;}然后我创建了一个数组用于测试:exportconstTEST:ITest[]=[{myDate:newDate(1995,8,1)}]我使用Angular2中的一项服务公开这些内容,该服务从angular2-in-memory-web-api访问InMemoryDbService。我调用它并获取数组的代码如下:get():Promise{returnthis.h

javascript - 在()之间封装js函数?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Differencebetween(function(){})();andfunction(){}();google了很多:(function(){/*code*/})为什么他们将函数包含在括号内?两者之间的区别是:function(){/*code*/}?编辑好的,问题应该是这样的:为什么他们将他们的代码包含在其中:(function(){/*code*/})();而是直接把代码写进js流?有什么好处,不同的行为吗?

javascript - Webstorm接口(interface)实现警告使用JSDoc

我对JSDoc很陌生,我正在试用Webstorm,所以我对webstorm也很陌生。一方面,我有一个这样声明的接口(interface):/**@interface*/functionIInterface(){}IInterface.prototype.myMethod=function(){};另一方面,我正在开发一个模块,我在其中实现了这个接口(interface):window.exports.MyImplementation=(function(){"usestrict";/****@constructor*@implements{IInterface}*/functionMy

javascript - TypeScript 接口(interface)是否应该在 *.d.ts 文件中定义

TypeScript新手问题。在我们的项目中,我们使用了一些外部JavaScript库,我们需要在其中添加*.d.ts文件。我理解这个用例以及我们需要这样做的原因。但是,对于我们自己定义的接口(interface),我的一位开发人员建议我们在*.d.ts文件中定义它们,这样我们就可以访问接口(interface)类型,而无需将其导入到需要使用的模块中例如,我们想为“错误优先回调”函数创建一个接口(interface),以便我们可以在许多领域重用它。所以不是这个...exportfunctionhelloWorldEventually(callback:(err:Error,result

javascript - 使用类和接口(interface)有什么区别?

这样做有什么区别exportclassComment{likes:string;comment:string;constructor(likes:string,comment:string){this.comment=comment;this.likes=likes;}}和这个exportinterfaceCommentInterface{likes:string;comment:string;}关于声明可观察类型register:Observable{returnthis.http.get()} 最佳答案 正如JBNizet非常正

javascript - typescript 可选扩展接口(interface)

我有两个接口(interface),其中一个扩展了另一个。但是,我希望能够扩展第一个interface并使其所有类型成为可选的。我不想重写第一个interface的所有定义,使其在我的第二个interface中成为可选的(因为在那个时候扩展有什么好处?)或重新定义第一个interface因为它正在别处使用。它的样子:interfaceFirst{type1:stringtype2:string}//Seeminglypointlessrewrite(whywouldIevenneedtoextend?)interfaceSecondextendsFirst{type1?:stringt

javascript - 为什么我要在 jQuery(function ($) { }); 中封装一个 jQuery 函数?

我遇到了一段代码,看起来像这样:jQuery(function($){$('#saySomething').click(function(){alert('something');});});我不太明白。为什么我不能简单地这样做:$('#saySomething').click(function(){alert('saySomething');}); 最佳答案 jQuery(function($){...});是以下内容的简写形式:jQuery(document).ready(function($){...});如果您不等待文档准备

javascript - 尝试声明接口(interface)时出现 Google Chrome WebUSB API 错误

我正在尝试使用GoogleChromewebUSBapi访问通过USB连接到我的计算机的读卡器。按照说明操作here,一切正常,直到我尝试声明给我一个错误的界面:“无法声明接口(interface)0:设备或资源繁忙”看来我的操作系统(linuxmint)已经访问了这个设备,但不允许运算符(operator)访问。有什么克服这个问题的建议吗?编辑:当我解除绑定(bind)驱动程序时,出现以下错误:“无法声明接口(interface)0:没有这样的文件或目录”这也是此设备的lsusb-v的输出:Bus001Device012:ID0ca6:a050CastlesTechnologyCo.

javascript - 关于JavaScript中闭包/封装效率的问题

我是JavaScript的新手,如果这是一个愚蠢的问题,请多多包涵。假设我有一个看起来像这样的“类”:varobj=function(){varval;return{setVal:function(newVal){val=newVal;},getVal:function(){returnval;}};};假设我的语法是正确的,这定义了一个具有名为“值”的“私有(private)”属性的类,以及设置/获取该属性的方法。现在,我将从这个类创建两个对象:varmyObj=obj();varyourObj=obj();这是否为每个对象创建一个单独的setVal()和getVal()方法?如果不

javascript - 将功能封装在 jQuery 插件或 vanilla JavaScript 函数中哪个更好?

假设我有一些JavaScript可以修改DOM,也许可以隐藏/显示表单字段或类似的东西,假设我想在多个页面上执行此任务,但每个页面只执行一次或两次。将此功能封装到jQuery插件或vanillaJavaScript函数中哪个更好?本质上,是这样的:jQuery.fn.toggleFormInput=function(){//StunningJavaScript/jQuerymagichere}比这更好或更差:functiontoggleFormInput(){//StunningJavaScript/jQuerymagichere} 最佳答案