草庐IT

Java泛型和继承递归

全部标签

javascript - 断言 sinon 中的递归调用次数

我有以下通过promise递归运行的队列消费者类:"usestrict";varqueue=require("./queue"),helpers=require("./helpers"),vendors=require("../config/vendors"),queueConf=require("../config/queue");functionConsumer(){this.queue=newqueue.TaskQueue();this.currentItem=null;this.port=null;this.payload=null;}Consumer.prototype.pa

javascript - 为什么javascript中的递归这么慢?

我刚刚在jsperf上运行了这个基准测试:https://jsperf.com/mapping1我试图查看使用递归的map是否可以击败Array.prototypemap函数。我的丢了可怕的。谁能解释一下为什么?map=function(f,xs){if(xs.length===0){return[]}return[f(head(xs))].concat(map(f,tail(xs)))}//head()andtail()doexactlywhatyouwouldexpect.Iwishtherewasawaytoprogrammaticallyforklistsinjs...

Javascript 寄生继承

我正在努力使用Javascript经典继承1.虽然最终DouglasCrockford拒绝了它在Javascript中支持经典模型的第一次尝试,但我发现理解它很有趣:IhavebeenwritingJavaScriptfor8yearsnow,andIhaveneveroncefoundneedtouseanuberfunction.Thesuperideaisfairlyimportantintheclassicalpattern,butitappearstobeunnecessaryintheprototypalandfunctionalpatterns.Inowseemyearl

javascript - 为什么使用 'prototype' 进行 javascript 继承?

JavaScript对象具有“原型(prototype)”成员以促进继承。但似乎,即使没有它,我们也可以过得很好,我想知道使用它有什么好处。我想知道有什么优点和缺点。例如,考虑以下内容(此处为jsfiddle):functionBase(name){this.name=name;this.modules=[];returnthis;}Base.prototype={initModule:function(){//initonallthemodules.for(vari=0;i问题是,为什么要使用“原型(prototype)”?我们也可以做一些像Derived=Object.create

javascript - Angularjs Typescript Controller 继承和依赖注入(inject)

我正在尝试创建一组Controller类,这些类派生自具有许多依赖项的基类。每次我想创建派生类时,我都必须将基类构造函数依赖项复制到派生类构造函数中。这看起来特别丑陋和重复。见下文;moduleMyModule{exportclassParentCtrl{constructor($http,$provide,$scope,$compile,MyService,$parse,$timeout){console.log('parent');}FunctionA(){...}...FunctionZ(){...}}exportclassChildCtrlextendsParentCtrl{c

javascript - 如何继承Javascript Date 对象?

我正在尝试创建继承自Date对象的对象。下面是我正在尝试做的事情的Firebug记录。>>>date_son=Object.create(Date)Function{}>>>typeofdate_son"object">>>date_son.gettimeundefined>>>date_son.prototype.getTimegetTime()我使用Object.create创建一个继承自Date的对象date_son。getTime函数/属性在date_son.protype上可用,但在date_son对象本身上不可用。我显然做错了什么。谁能指出正确的方向,说明如何创建一个继承自

javascript - 理解 node.js 中用于递归函数的 promise

我正在尝试使用递归调用从Redis中获取数据,当成员返回null时停止并返回。所以我的数据是这样添加的:SADDparents.SADDparents....最终数据应该是这样的:[{label:,parents:[{label:,parents:[{label:},{label:}]},{label:}]}]这是我弄乱的代码(从不同来源拼凑而成),但我不知道我在做什么。不确定这段代码是否有用,我可能会偏离轨道。varredis=require('node-redis');varr_client=redis.createClient();varQ=require('q');functi

用于洗钱检测的 Javascript 递归

我正在执行统计分析,以确定是否有可能通过在特定时间范围内将较大的交易分解为较小的交易来隐藏较大的交易。我正在做的是将较大的数据集分成较小的子集(目前为12个数组),然后对每个子集运行一系列循环以确定元素的任何组合是否加起来在目标范围内。这是我当前的代码:amounts_matrix=[1380.54,9583.33,37993.04,3240.96...]matrix_amounts=amounts_matrix.lengthtotal_permutations=0;total_hits=0;target_range=1target=130000low_threshold=target

javascript - JavaScript 寄生继承中的 "this"指的是什么?

在JavaScript中使用原型(prototype)继承创建应用程序多年之后,我开始探索使用寄生继承。尽管它的主要缺陷——至少对我而言——在创建对象层次结构时可能会在内存中创建多个方法副本,但我发现它的简单性和"new"变得不必要这一事实确实引起了我的共鸣。但是,我坚持“这个”会发生什么。我在网上看到的大多数示例只是展示了如何实现寄生继承的皮毛,如下所示:functionfoo(){return{method1:function(){...}}}functionbar(){varthat=foo();that.method2=function(){//is"this"pointing

javascript - 程序化非尾递归消除

我正在用JavaScript制作一个玩具Lisp解释器。JS没有尾递归消除(TRE),所以我在JS中使用while循环实现了TRE(伪代码):functioneval(exp,env)whiletrueifexpisselfevaluatingreturnexpelseif......elseifexpisafunctioncallprocedure=eval(car(exp),env)arguments=eval_operands(cdr(exp),env)exp=procedure.bodyenv=extend_env(procedure.env,env)continue#tail