草庐IT

多目标优化

全部标签

javascript - React-router:防止导航到目标路线

我正在使用具有历史记录的react-routeruseQueries(createHashHistory)()并且我有几条我想根据路由配置阻止导航的路由。所以路由配置是这样的:...所以让我们假设我在#/view-2上并调用类似history.push({pathname:'/view-1'});的操作.但是一旦路线view-1有一个标志canNavigate={false}-我想阻止导航到它并显示一条消息而不改变哈希和任何其他副作用(比如调用view-2的onLeaveHook)。我在考虑听历史:history.listenBefore((location,callback)=>{/

javascript - Mathjax - 当有顶部固定菜单时,为方程的目标 "\eqref"链接添加偏移量

我尝试使用“纯”CSS解决方案或使用Javascript来实现为等式上的Matjaxanchor链接添加偏移量。当我在页面上向下滚动时,会出现一个固定的顶部菜单。我用这样的Javascript处理这种行为:$(window).bind("load",function(){$('a[href*="#"]').click(function(event){event.preventDefault();if(location.pathname.replace(/^\//,'')==this.pathname.replace(/^\//,'')&&location.hostname==this.

javascript - 为什么这段 JavaScript 代码经过 Node.js 优化后运行速度变慢了

我正在为ICPC创建一个解决方案使用JavaScript和Node.js的问题当我遇到一个有趣的问题时:在某些情况下,我的程序在同一数据集上的运行速度会慢两倍。我精简了它,直到我得到这个演示行为的最小示例:functionsolve(arr){consttotal=arr.reduce((a,c)=>a+c,0);constcount=arr.length;for(leti=0;i这是使用Nodev10.15.1运行node--trace-optcode.js的输出:[marking0x005062b82521foroptimizedrecompilation,reason:small

javascript - 如何在生产环境中动态加载多个优化的 requirejs 模块?

我已经开始在虚拟项目中使用requirejs。我现在想使用r.js脚本构建我的生产项目。上下文是这样的:名为start.js的主文件是:require([/*somestuff*/],function(){/*applogic*/});它有一个if,它根据某些条件决定我应该要求什么。所需的文件是ModuleA或ModuleBModuleA和ModuleB都有依赖关系。define([/*somedeps*/],function(dep1,dep2...){/*applogic*/return{/*interface*/}在优化和模块连接之前,在开发模式下一切正常。在使用r.js构建时,

javascript - 三.JS | PerObject-Blur,我可以使用哪些技术来优化 GLSL/C 代码?

更新2我已经使用THREE.js实现了自定义属性,影响来自顶点着色器中与位置属性对齐的每次传递,这是代码最少的最佳解决方案。Iwilladdtheexamplelater更新1此方法将alpha设置为受边界框内速度范围影响的顶点。我需要提示来处理GLSL代码重复pervertex,这对我来说有点奇怪?我应该使用函数吗?怎么办?https://jsfiddle.net/LeroyRon/uep9t1v1/#&togetherjs=MjBnNMFQFl反正我有这个://for.xif(position.x>0.0){if(velocityPosition.x+(velocities.x*s

javascript - 为什么不使用 mouseup 事件目标而不是 "old school"拖放的位置?

因此,据我所知,几乎所有与IE兼容的拖放操作都使用定位来确定将某些内容放置在何处。做一些类似mousedown的事情,确定所有可放置的位置,mouseup确定我们是否处于可放置的位置。为什么?我制作了一个快速原型(prototype),它似乎可以工作,它使用mouseup上的event.target(在jquery中,所以无论它转换到其他地方)来确定放置元素。是否有令人信服的理由不这样做?(在mouseup上使用e.target)。所以,mousedown决定了拖拽的是什么,mouseup决定了拖放的位置。添加一些变量以确保我们正在拖动,并记住拖动的是什么。

javascript - 在 RequireJs 中,如何指示优化器生成哈希输出文件名?

我这样运行优化器sudo/usr/local/bin/node/tmp/r.j/r.js-oname=mainout=test.jsbaseUrl=.用于测试现在,我如何告诉优化器将文件名输出为内容的哈希值(显然是为了设置maxexpires),然后在相关的require调用中重命名依赖项?一个示例情况是这样的require({baseUrl:'{{STATIC_URL}}js',paths:{jquery:'https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min',jqueryui:'http://ajax.goog

javascript - .mousemove 和内存,我需要优化吗?

我在这里创建了一个简单的光测试演示:http://jsfiddle.net/CGr9d/当我使用Chrome开发工具记录内存使用情况时,我得到:http://cl.ly/LSDl,它基本上上升到某个点然后再次下降并重新开始,直到再次达到之前的高点。这正常吗?有什么方法可以优化我的代码以减少内存占用吗?这是我的mousemove函数:$('body').mousemove(function(e){//2000ishalftheimagewidth/height,ofcourseusedforcentering$('.light-circle').css({backgroundPositi

javascript - ES6 尾调用优化是否涵盖生成器?

ES6对尾调用优化的支持是否涵盖生成器中的尾调用?假设我有这个>=0的整数生成器:varnums=function*(n){n=n||0;yieldn;yield*nums(n+1);};目前,在Chrome和Firefox中,它会为每个递归调用添加一个堆栈级别,最终会遇到“超出最大调用堆栈大小”错误。一旦ES6完全实现,这种情况还会发生吗?(我知道我可以迭代地编写上面的生成器而不会遇到错误。我只是好奇TCO是否会处理递归定义的生成器。) 最佳答案 当进行函数调用时,根据Functioncallevaluation部分,Lettai

javascript - 优化将 JSON 属性名称小写的 JavaScript 代码

我正在开发一个Web应用程序,该应用程序接收具有大写属性名称的JSON数据。我需要这些属性名称是小写的,所以我使用一个函数递归循环遍历JSON对象并将它们转换为小写。问题是我的JSON回复可能会变得非常大。我希望该函数即使必须处理具有60,000个属性名称和各种嵌套级别的JSON,也能表现良好。小写函数是:FN=function(obj){varret=null;if(typeof(obj)=="string"||typeof(obj)=="number")returnobj;elseif(obj.push)ret=[];elseret={};for(varkeyinobj)ret[S