草庐IT

匿名管道

全部标签

javascript - 如何绑定(bind)内联匿名函数?

我正在尝试将内联匿名回调函数绑定(bind)(即bind(this))到对象怎么做到的?简化示例:varobject={property:function(){this.id='abc';//'this'bindstotheobjectaFunctionWithCallback(this.id,function(data){console.log(this);//null});}}; 最佳答案 与您始终使用bind的方式相同。获取函数的引用(例如由函数表达式返回),并对其调用bind方法。aFunctionWithCallback(

javascript - 制作大型列表的副本以触发 Angular 2 中影响性能的纯管道的更改检测

我有一个包含50,000多个对象的数组a,我有一个管道接收这个数组a并将其转换为一些输出,然后显示在View中。管道是纯粹的意思,只有当对数组a的引用发生变化时,它才会重新计算。我有一个方法modifyArray,它可以从数组a中添加/删除一些元素。完成后,我希望重新评估管道,以便重新呈现View。由于Angular强制执行不变性的方式,我对管道进行重新评估的唯一选择是让方法modifyArray返回数组a应用更改后,Angular可以检测到引用已更改并触发管道,如下所示:modifyArray(a:T[]):T[]{a.push(b);a.slice(c);return[...a];

javascript - TypeScript 匿名函数

这个JavaScript的TypeScript等价物是什么?(function(){/*codehere*/})();我试过了()=>{/*codehere*/}但这会产生(function(){/*codehere*/});我需要最后一组额外的括号来执行匿名函数。 最佳答案 (()=>{/*codehere*/})();或者简单地使用JavaScript(同样有效的TypeScript)(function(){/*codehere*/})();...取决于您是否要使用粗箭头捕获this。Playground.

javascript - 管道在这个 AngularJS 表达式中做了什么

{{item.title}}{{item.price|currency}}{{item.price*item.quantity|currency}}Total:{{totalCart()|currency}}Discount:{{bill.discount|currency}}Subtotal:{{subtotal()|currency}}上面代码中的|-它做了什么? 最佳答案 管道符号(|)用于在AngularJS中应用过滤器。过滤器是一个被调用以处理模型转换的函数。它基本上只是一个全局函数,不需要在作用域上注册函数,并为常规函数

javascript - 什么时候在 javascript 中声明一个新的(匿名)函数?

我对函数在javascript中的运行方式有些困惑。我知道它们都是对象,但这如何改变我将它们用作参数的方式?例如,如果我尝试使用回调函数,其中第2个参数在1000毫秒后求值...$(this).fadeIn(1000,function(){alert('donefadingin');});为什么我不能达到同样的效果:$(this).fadeIn(1000,alert('donefadingin'));如果我这样做,它会同时评估两者。也就是说,(这个)元素淡入,同时弹出警报。当我调用alert(arg)时,我不是在创建一个传递给fad​​eIn()的新对象吗?这究竟是如何工作的?

javascript - 为什么 Closure Compiler 无法识别自执行匿名函数中的类型声明?

当我通过ClosureCompiler运行一个相当大的库时,我收到了很多“Unknowntype”警告,当我的类型在自执行匿名函数中声明时,它们似乎会发生。这并没有什么奇怪的,但是如果我去掉自执行函数,类型声明似乎可以工作(至少在这个简单的测试中是这样)。我不确定我的代码注释是否有问题,或者代码中是否有任何非法内容,但我认为这完全符合标准,并且是模块化API的标准方法。下面的测试代码创建了一个命名空间(只是一个普通的旧JS对象)并附加了一个枚举(一个对象字面量)和一个函数。varmynamespace={};(function(mynamespace){/***Someenum.*@e

javascript - 自调用匿名函数表达式

(function(){...})();我看过this发布并对此有所了解。但几乎没有更多疑问,主要是关于它的使用方式。就像一个静态block!因为它像一个静态block(self调用!),它可以用于初始化(就像一些虚构的常量)?但是没有可用的getter从它获取任何东西并在别处使用它!返回,必须吗?上面的解决方案是在那个函数中有一个return?这样我就可以获取它返回的任何内容并使用它。引用全局对象?!(function(window,undefined){})(this);上面代码的解释在引用的post的第二个答案中,我无法理解,如果有人能解释得更多(或对我来说更简单),那就太好了更

javascript - 如何将上下文传递给 forEach() 匿名函数

这个问题在这里已经有了答案:Theinvocationcontext(this)oftheforEachfunctioncall(5个答案)关闭5年前。将this上下文传递给匿名forEach函数的现代且正确的方法是什么?functionChart(){this.draw=function(data){data.forEach(function(value){//dosomethingwithvaluesconsole.log(this);//question:howtogetChartinsteadofglobalscope?)};});};

javascript - 管道 RxJS 可观察到现有主题

有正在使用的现有主题:constfooSubject=newBehaviorSubject(null);还有另一个可观察对象(本例中的另一个主题):constbarSubject=newSubject();barSubject.subscribe(value=>fooSubject.next(),err=>fooSubject.error(err),()=>fooSubject.complete());barSubject.next('bar');代码有效但看起来很笨拙。是否有更好的方法将barSubjectobservable管道(广义上,不一定使用pipe运算符)fooSubjec

javascript - 如何使用 Rails Assets 管道执行每页 javascript

我明白,出于性能原因,最好让Assets管道连接并缩小我所有的javascript,并在每次页面请求时发送全部内容。这很公平但是,我的一堆javascript是将特定行为绑定(bind)到特定页面元素之类的东西——比如$('button').click(function(e){$('input.sel').val(this.name);}如果我知道这段代码只在那个页面上执行,我会感觉更舒服-而不是在可能巧合地具有具有相同ID的元素或匹配相同选择器的每个其他页面上人们如何处理这个?我宁愿不把所有这些东西内联到元素中,只是因为当它超过两行时,在.html.erb文件中保持javascrip