草庐IT

递归实现

全部标签

Javascript:我应该隐藏我的实现吗?

作为一名C#程序员,我有点习惯将可以而且应该私有(private)的东西设为私有(private),当JS类型向我公开其所有私有(private)部分时,我总是会有一种奇怪的感觉(这种感觉不是'引起')。假设我有一个具有draw方法的类型,该方法在内部调用drawBackground和drawForeground,单独调用它们毫无意义。我应该如何实现?选项1Foo=function(){this.draw();};Foo.prototype.draw=function(){this.drawBackground();this.drawForeground();};Foo.prototy

javascript - 如何使用 D3.js 实现 R 核密度估计图?

这是我的R代码:x我正在尝试使用D3.js或任何其他等效的JavaScript库实现相同的结果..有人可以帮忙吗? 最佳答案 你见过kerneldensityestimation吗?例子?不可否认,它使用的是Epanechnikov内核而不是Gaussian,但是那部分可以修改。 关于javascript-如何使用D3.js实现R核密度估计图?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

javascript - stack overflow是如何实现页面持续更新的呢?

这个问题在这里已经有了答案:Howtoshowcontinuousrealtimeupdateslikefacebookticker,meetup.comhomepagedoes?(4个答案)关闭8年前。太棒了——你打开stackoveflow问题,页面就在你眼前自行修改!“啊,这很明显”,我想。他们只是不断向服务器发送AJAX请求以检查是否发生了变化。没有!我打开了Firefox的Firebug插件并查看了网络面板。几分钟内没有发送任何AJAX请求。正如您可能经历过的那样,该页面的更新频率远高于每分钟一次!您知道这是如何实现的吗?

javascript - EcmaScript 规范是否对用于实现运行时的进程模型施加了任何限制?

EcmaScript规范是否对用于实现运行时的进程模型施加了任何限制?例如,事件循环是否需要位于与管理与操作系统IO子系统的运行时通信的线程不同的线程上? 最佳答案 不,它没有具体说明这些。运行时通信和IO甚至不是语言的一部分,它们作为依赖于实现的奇异对象出现。ECMAScript规范甚至没有使用术语“事件循环”,尽管它确实定义了JobsandJobQueues哪个工作相似。然而,没有理由用多线程实现那些,毕竟,只有JS总是顺序运行。相比之下,HTML5规范确实定义了eventloops甚至是processmodel,但对多线程也没

javascript - 试图理解递归函数的类似堆栈的行为

我正在MDN上阅读关于函数的文章,我到达了递归部分,但我不明白最后一部分谈论使用类似堆栈的行为。例子是那个:functionfoo(i){if(i关于该功能,我了解何时显示begin日志,但我不知道何时显示end日志。有人可以帮我解释一下吗? 最佳答案 所以基本上在执行i-1时每次调用foo时它都保持函数打开,它没有返回。它一直在继续,因此begin不断被调用,一旦它达到0,最后一个函数调用就会返回。一旦发生这种情况,其他foo调用也可以开始完成。它们将从最旧到最新完成。您可以通过PhilipRoberts使用放大镜看到它的可视化.

javascript - 尝试将嵌套循环转换为递归函数

我正在尝试创建以下嵌套循环的递归版本并获得与引用代码相同的结果。示例如下。这是Codepen上的一个版本http://codepen.io/anon/pen/XbQMLv(代码的目的是仅输出索引中整数的唯一组合。)原始代码和输出:varlen=4;for(vara=0;a递归代码和输出:varlen=4;varend=3;vardata=[];varloop=function(index){if(index===end){console.log(data);return;}for(vari=index;i不确定我在这里遗漏了什么。 最佳答案

javascript - 实现多个过滤器 AngularJS 的最佳方法是什么?

我有多个过滤器在ng-repeat上运行良好。但是,代码似乎不必要地长以实际操作一组过滤器,我想知道是否有更好的方法。这是一个示例过滤器-这一点我可以接受(除非有人有任何建议)-它们都遵循类似的结构:app.js.filter('taskClient',function(){returnfunction(items,clientId){if(!clientId){returnitems;}varfiltered=[];angular.forEach(items,function(item){if(item.client){if(item.client.id===clientId){fi

javascript - Leaflet JS - 实现手势处理以强制执行 2 指滚动

您知道当您在移动设备上向下滚动带有谷歌地图的网页时。map变暗并告诉您“用两根手指移动map”。我想在我的Leafletmap中实现这一点。Leaflet目前不提供这种开箱即用的功能。Google将此功能称为手势处理。如果将其设置为“合作”,您将获得我刚才描述的效果。https://developers.google.com/maps/documentation/javascript/interaction如我的代码示例所示,检测所用手指的数量并显示消息非常容易。(您需要在移动设备或模拟器上运行它才能看到它的效果)如果是1根手指,我取消touchmove事件并显示我的警告。否则我允许事

javascript - JavaScript堆如何处理递归

您好,我上面的问题有点含糊,所以我会尽量使它更清楚。我有以下形式的代码:functionmain(){asyncfunctionrecursive(){vara="HelloWorld";varb="GoodbyeWorld";recursive();}recursive();}我遇到了堆内存不足的问题。假设我上面展示的是我的程序的行为方式,在递归函数中声明了a和b,我的问题是变量是否在递归函数中调用recursive时被销毁,或者它们是否会一直存在直到出现假设我让主函数运行足够长的时间以使其发生,则不再有递归调用并且主函数到达其终点。我担心它们在堆中仍然存在,因为我的真实程序在这些变

javascript - Node.js如何实现多态?

我正在尝试使用node.js和其他相关技术来实现一个应用程序。从Java领域出发,多态性很自然,但对于经典程序员来说,Node的工作方式不同。应用程序将在用户提供的运行时加载新代码。为了让主要核心使用此代码,“我们”需要就某种约定达成一致。知道Node有多新,我对找不到答案并不感到惊讶。问题是这个问题在JS中也相当模糊。要求:强脱钩。在运行时加载新代码。该解决方案应该适用,这样我就可以与浏览器共享尽可能多的代码。更新:我确实摆弄过duck-typing,我还遇到了Clojure在基于协议(protocol)的实现方面的想法。我希望能在答案中加入一些代码。 最