小编Pat*_*son的帖子

为什么这个函数在长数字而不是短数字时运行得更快?

我写了一篇JS perf,表明通过数量减少解析数字中的数字比通过字符串评估(对于排序任务)更快.我发现虽然幅度减少算法对更长的数字(不是每个数字,但总共)执行操作更快,即使它应该为更长的数字循环更多次.它发生在OS X上的Chrome,Safari和Firefox中(尚未测试其他操作系统).

任何想法这里发生了什么?

这是perf:http://jsperf.com/get-digits-from-integer

编辑这里是一个perf,显示不同数字8,16,32,64和128的差异.只有8位数字比预期的慢,16位数,性能随着数字变长而减慢.http://jsperf.com/get-digits-from-integer/3

这是有问题的功能:

function getDigitsByMagnitudeReduction(num){
  var digits = [];
  while (num > 0){
    digits.push(num % 10);
    num = (num / 10) >> 0;
  }
  return digits.reverse();
}
Run Code Online (Sandbox Code Playgroud)

javascript safari firefox google-chrome

0
推荐指数
1
解决办法
56
查看次数

BackboneJS 模板中的 if else 条件

我的 BackboneJS 模板中有以下代码(使用 Underscore 渲染)

<input type="radio" class="isMale" id="isMaleVolunteersNo" 
    <%= model.attributes.isMaleVolunteers == undefined ||         
        model.attributes.isMaleVolunteers == null || 
        model.attributes.isMaleVolunteers == 'N' ? 'checked' : '' 
     %>                 
     name="isMaleVolunteers" value="false" />
<label for="isMaleVolunteersNo" style="display:inline">No</label>
Run Code Online (Sandbox Code Playgroud)

当模型属性 isMaleVolunteers 未定义时,我希望默认选中“否”。

我尝试了以下(带括号)...仍然不起作用;

<input type="radio" class="isMale" id="isMaleVolunteersNo" 
    <%= (model.attributes.isMaleVolunteers == undefined ||
         model.attributes.isMaleVolunteers == null || 
         model.attributes.isMaleVolunteers == 'N') ? 'checked' : '' 
    %> 
    name="isMaleVolunteers" value="false" />
<label for="isMaleVolunteersNo" style="display:inline">No</label>
Run Code Online (Sandbox Code Playgroud)

但上面的代码不起作用。代码有问题吗?

javascript backbone.js underscore.js underscore.js-templating

-1
推荐指数
1
解决办法
5376
查看次数