草庐IT

留给CBO优化器的弯道不多了

全部标签

javascript - NodeJS 循环优化

我知道在浏览器中,按照for(vari=0,l=arr.length;i代替for(vari=0;i但是在NodeJS中是这样还是V8引擎优化了呢?我知道ecma-2625.1sec-15.4数组长度定义如下:Thevalueofthelengthpropertyisnumericallygreaterthanthenameofeverypropertywhosenameisanarrayindex;wheneverapropertyofanArrayobjectiscreatedorchanged,otherpropertiesareadjustedasnecessarytomain

javascript - 如何设置 jQuery 微调器的最大值和最小值?

我遇到了下一个问题:我正在使用jQuery+ajax,我希望在从服务器获取数据后设置微调器的最大值和最小值。但实际情况是,当我用Firebug检查元素时,它说设置了最大值和最小值,但实际上它们没有设置,所以没有最大值和最小值。这是一些代码:......$("#spinId").attr('min',0.0);$("#spinId").attr('max',parseFloat($('.someClass').text()));...而这个.someClass是通过ajax形成的。我还注意到值设置正确,即$('#spinId').attr('value',ValueFromServer)

javascript - 需要优化功能

我正在研究这个函数,它必须返回添加a和bn次的所有可能值,例如如果n=1那么可能的值将是a+aa+b和b+b。下面的功能有效,但它太慢了,我想优化它。有什么建议么?非常感谢!functionprocessData(n,a,b){varans=[0];for(vari=0;i 最佳答案 functionprocessData(n,a,b){varans=[];if(a==b){for(vari=0;ib){vartemp=a;a=b;b=temp;}vardiff=b-a;for(vari=0;i好的,这是迄今为止最有效的解决方案。我

javascript - 使用具有高级优化功能的 Closure 编译器时如何在 javascript 中保留全局变量?

我有自己的Javascript库,我想通过使用具有高级优化功能的Google闭包编译器来缩小它。通过查看docs我看到了如何声明在库外使用的函数。但是我找不到一种方法来保存在我的库中声明的全局变量。Closure编译器只是删除它们,因为它认为它们从未被使用过。有人可以帮忙吗?编辑:示例代码:varvariable_1=true;这是在我的库开始时全局定义的,但它从未在库本身中使用过。当它包含在某些页面中时,它会在库外使用。但是Closure编译器不知道,这就是它删除这些声明的原因。 最佳答案 闭包编译器无法移除声明为window["

javascript - 优化javascript代码以使用整数运算

有一些算法可以“非常好”地解决问题,前提是“非常好”意味着最小化浮点算术运算的数量以支持整数算术。以Bresenham'slinealgorithm为例为了弄清楚要填充哪些像素以便在Canvas上画一条线:这个人几乎只用了一些简单的整数运算就使整个过程变得可行。这种事情在很多情况下显然是好的。但是,在javascript中需要大量float学运算的操作值得担心吗?我知道就语言规范而言,一切都几乎是十进制数。我想知道是否实际上尝试让事情尽可能接近整数是否值得——浏览器是否进行了优化以使其值得? 最佳答案 您可以在javascript中

javascript - const 与内联字符串文字,编译优化

这不是问题,而是基于代码结构对V8优化的探索。我和另一位开发人员正在就V8的编译优化争论conststringliteralvsinlinestringliteral的值(value)。当然,假设我们始终处于严格模式。这里有一些代码示例放在上下文中:常量constNAME="something";functiondoSomething(s){returnNAME+s;}对比内联字符串functiondoSomething(s){return"something"+s;}我们的共识:-const为魔法值提供更多上下文,从而简化维护。我们不同意的地方:我说const的使用允许V8编译时优化

javascript - 比较 jquery 选择器的性能

着眼于提高我的jquery选择器的性能。那么有什么技巧或文章可以作为最佳性能jquery选择器吗?例如选择一个div的id。我可以在网上的任何地方提供html并比较我可以用来选择所需元素的不同选择器。 最佳答案 您可以在这里比较选择器的性能:http://jsperf.com/只需设置您的HTML,包括jQuery并将您要比较的每个选择器作为测试用例放置。许多规则here仍然适用,但是游戏在jQuery1.4.3+中发生了一些变化,之后Sizzle(jQuery的选择器引擎)将使用querySelectorAll()在支持它的浏览器

Javascript Math.ceil(Math.abs()) 优化

我在循环中使用Math.ceil(Math.abs(x))。谁能实现这个操作的任何优化?(按位还是什么?)欢迎您在jsperf.com进行基准测试 最佳答案 根据webkitJavaScriptCore,Math.abs并没有变得更简单caseMathObjectImp::Abs:result=(arg不过ceil使用的是C的ceil函数caseMathObjectImp::Ceil:result=::ceil(arg);所以在JSpref上测试http://jsperf.com/math-ceil-vs-bitwise按位更快测试

javascript - 为什么我不能使用带有多重选择器的 prop() 翻转检查属性?

我知道通常当需要多个类来选择不同的类时,我们使用,并且我也四处搜索以确保我没有记错但不知何故如果我使用,没有错误,但它不会检测到第二个选择,只检测到第一个。如果我分别调用这些类,那么代码就可以工作了。谁能告诉我我在jQuery上做错了什么?这有效。if(($('.use-remaining').prop("checked"))||(($('.use-briquettes').prop("checked")))){}但如果我这样做,它就不会工作if(($('.use-remaining,.use-briquettes').prop("checked"))){}我有三个复选框。在表单提交之

javascript - 1000 个 div 上的 jQuery 单击事件,优化方法?

我正在构建一个销售事件门票的系统。目前大约有1000个不同的座位可供游客选择。也许有一天它会达到5000。现在我有一个div用于每个位置,然后是一些jQuery以使用ajax保留位置。所以这意味着我有大约1000个div,更令人担忧的是我的jQuery选择器在每个div上设置了一个点击事件。在这方面有更好的方法吗?我想在按下div时触发ajax,而不是重新加载页面。 最佳答案 使用.delegate():$("#container").delegate(".child","click",function(){alert("Click