草庐IT

multiple-variable-return

全部标签

javascript - 为什么 typescript 不提示某些 undefined variable

我有以下示例:classUncle{constructor(publicname:string){}talk(){return"Hellomynameis"+name;}}letp:Uncle=newUncle("Jo");console.log(p.talk());对于某些变量名,typescript(目前版本2.1.4)不会提示它们没有在您的程序中定义(在方法讨论中,名称是在没有这个的情况下使用。)。name就是其中之一。如果我将变量重命名为firstName,编译器会正确地提示...errorTS2663:Cannotfindname'firstName'.Didyoumeant

javascript - Redux 中间件设计 re : return values

所以我刚刚阅读了redux中间件,听起来不错。不过有一件事困扰着我——中间件的返回值。我知道中间件的某些实例会返回一些东西(即redux-promise),而我得到其他中间件(即logging)不会-只是返回next(action)的结果。我的问题是,如果我想使用两个都返回内容的中间件会发生什么——它们肯定会互相破坏,而我只会获得最外层中间件的返回值。express/connect中间件通过让中间件将其“结果”写入req和res对象来解决这个问题,但是解决方案是什么还原?编辑这是我的问题的一个更具体的例子:我有两个中间件:将所有操作延迟3秒分派(dispatch)的中间件。这个中间件返

javascript - 使用: and => for the return type with a TypeScript function?有什么区别

我有以下代码:///functionaddThemePrototypes(){vartemplateSetup=newArray();$.fn.addTemplateSetup=function(func,prioritary){if(prioritary){templateSetup.unshift(func);}else{templateSetup.push(func);}};}有人能告诉我为什么要用=>void来声明吗?interfaceJQuery{addTemplateSetup:(func:Function,priority:bool)=>void;}我想我对如何从java

javascript - JavaScript 中全局作用域中存在 undefined variable 的原因是什么?

我发现很多关于undefined作为值的讨论,例如如何检查是否相等等等。但是undefined作为全局变量存在的“工程”原因是什么?对面没有null变量...console.log(undefinedinthis);//logstrueconsole.log(nullinthis);//logsfalse 最佳答案 在JavaScript中,null是一个保留字;undefined不是,但由环境实现作为一个全局变量,其值为undefined。您会注意到您可以更改undefined的值,但不能更改null的值,except严格模式(会

javascript - Angular 和 Observable : how to avoid multiple requests to API within a given time

我在Angular4应用程序中有类似的东西(为了示例,我删除了代码)@Injectable()exportclassSomeService{constructor(privatehttp:Http){}get(id:number){returnthis.http.get('http://somedomain/somemodel/${id}.json');}}一些组件使用它来进行API调用。constructor(privatesomeService:SomeService){}...someMethod(){//codehere...this.someService.get(2).su

javascript - Javascript 的 "multiple execution contexts"是如何工作的?

Javascript没有可见的线程(但是——工作线程即将到来,请参阅JavaScriptandThreads中的更多信息)。但是,当您有多个FirefoxWindows和多个Firefox/IE选项卡时,它似乎确实有多个似乎同时存在的执行上下文——独立的。当页面上有多个iframe时,每个iframe都有自己的执行上下文,但它们共享数据。如果两个iframe在同一个域中,它们可以访问彼此的DOM并调用彼此的函数。尽管如此,我在谷歌上找不到调度模型的描述,即它是否是:并行/抢占式,在哪种情况下——您可以暂时暂停吗?任何形式的相互排斥?合作,在这种情况下——一个人如何屈服于另一个环境?非重

javascript - Getter 中的异步函数 w/Return 回调

我想定义一个只读对象属性,它异步获取一个值,然后使用新的EcmaScript5getter返回它。但是,该属性始终返回undefined,即使下面示例代码中的magicValue绝对不会是未定义的。此外,当我只是return'xxx';时,打印的值仍然是undefined。它仅在我在回调函数外return时有效。无论是否调用myAsyncFunction的回调,似乎都立即执行了return。我不确定这是V8中的错误还是我在滥用JavaScript的getter。我可以让它工作吗?我想,既然我现在可以使用getters和setters,我将使用getters/setters来读写属性和常

javascript - ES6/终极版 : returning a function to remove event listener

我在Egghead上观看DanAbramov的Redux教程,他做了一些让我有点困惑的事情。作为学习练习,他让观众重建createStore抽象。createStore提供的一种方法是subscribe,它会添加监听器以监听商店的变化。然后他说:Thereisanimportantmissingpiecehere.Wehaven'tprovidedawaytounsubscribealistener.InsteadofaddingadedicatedUnsubscribemethod,we'lljustreturnafunctionfromtheSubscribemethodthatr

javascript - 启用右键单击 : <body oncontextmenu ="return false">

我有一个网页(我无法控制):我想启用右键单击,但我无法做到这一点。在保存的html中,当我删除此oncontextmenu然后它开始工作。我已经尝试了所有提到的here,但它对我不起作用。Hereis保存的网页副本。 最佳答案 尝试在webdev控制台中执行以下代码:window.addEventListener("contextmenu",function(e){e.stopPropagation()},true);body,html{width:100%;height:100%;}text

javascript - return语句全局变量后的函数声明不被覆盖

这个问题在这里已经有了答案:Javascriptfunctionscopingandhoisting(18个答案)关闭2年前。我有如下Javascript代码,http://jsfiddle.net/ramchiranjeevi/63uML/varfoo=1;functionbar(){foo=10;return;functionfoo(){}}bar();console.log(foo);//returns1当代码执行时,调用bar()函数并用值10覆盖全局变量,那么日志应该打印为10而不是打印为值1。