小编sam*_*one的帖子

将值添加到数组的最有效方法

假设我有一个大小为N(where N > 0)的数组,是否有一种更有效的方法可以预先添加到不需要O(N + 1)步的数组?

在代码中,基本上,我目前正在做的是

function prependArray(value, oldArray) {
  var newArray = new Array(value);

  for(var i = 0; i < oldArray.length; ++i) {
    newArray.push(oldArray[i]);
  }

  return newArray;
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays prepend

249
推荐指数
8
解决办法
15万
查看次数

为什么向后遍历数组的速度比向前快

鉴于此代码:

var arr = [];

for (var i = 0; i < 10000; ++i)
    arr.push(1);
Run Code Online (Sandbox Code Playgroud)

前锋

for (var i = 0; i < arr.length; ++i) {}
Run Code Online (Sandbox Code Playgroud)

向后

for (var i = arr.length - 1; i >= 0; --i) {}
Run Code Online (Sandbox Code Playgroud)

硬编码转发

for (var i = 0; i < 10000; ++i) {}
Run Code Online (Sandbox Code Playgroud)

为什么向后退得这么快?

这是测试:http: //jsperf.com/array-iteration-direction

javascript optimization performance

53
推荐指数
4
解决办法
5万
查看次数

如何在前端游戏中安全地提交高分以防止劫持后

给定客户端游戏(让我们称之为游戏X)和存储高分的服务器端数据库如何在游戏结束条件之后以一种只有在游戏中才能完成的方式将高分安全地汇总到服务器实际上是玩过(因此防止劫持后).

鉴于此问题,我在这里提出了一些想法

**在游戏开始时发送一个会话ID,该会话ID在给定的时间后到期,然后发送到服务器进行验证

问题是,这可以通过请求启动ID然后只是伪造分数来轻松利用

**游戏中发布到服务器的检查点,以验证此人是否正在玩游戏

再一次,这可以通过一些狡猾的脚本来合成

javascript security frontend

17
推荐指数
2
解决办法
2819
查看次数

在javascript中平均2个十六进制颜色

好吧,我想把这个扔到那里供人群思考.

给定一个函数 (用javascript编写),期望两个字符串形成像十六进制颜色(ex#FF0000)

返回一个十六进制颜色,它是两种颜色的平均值.

function averageColors(firstColor,secondColor)
{
  ...
  return avgColor;
}
Run Code Online (Sandbox Code Playgroud)

- 编辑 -

平均值将被定义为 在此输入图像描述

如果通过的颜色是黄色而第二个是浅紫色,则返回的颜色将是中等橙色

javascript hex colors

14
推荐指数
4
解决办法
6655
查看次数

在JS中Lat Lat到XYZ位置..不工作

var phi   = (90-lat)*(Math.PI/180);
var theta = (lng+180)*(Math.PI/180);

marker_mesh.position.x = ((rad) * Math.sin(phi)*Math.cos(theta));
marker_mesh.position.z = ((rad) * Math.sin(phi)*Math.sin(theta));
marker_mesh.position.y = ((rad) * Math.cos(phi));
Run Code Online (Sandbox Code Playgroud)

鉴于上述情况,我的标记没有转化为3D球体上的正确位置......想法?

它相对接近(在同一个大陆上),但那个接近:

如下所示...它应该呈现在

纬度:41.7307619 :-71.276195

我的地球有一个boundRadius:500px

该函数的当前结果是

x: -119.7801015013779

y: 332.8157297895266

z: 353.3927238766871

在此输入图像描述

javascript

12
推荐指数
1
解决办法
1万
查看次数

骨干路由 - 检测浏览器后退按钮

我试图找到一种方法来检测用户何时按下浏览器中的后退/前进按钮.

我使用骨干来处理路线,以及骨干来渲染我的观点.

问题是我无法从任何地方挂钩此页面更改事件.

我尝试在我的初始化函数中为我的视图添加一个日志..但是当我使用后退按钮时它没有被触发.

我真的不确定如何检测此页面更改.

javascript backbone.js

12
推荐指数
2
解决办法
2万
查看次数

如何在mustache.js中迭代哈希

鉴于此哈希

a = {
  foo : { ... },
  bar : { ... },
  zap : { ... }
}
Run Code Online (Sandbox Code Playgroud)

我想迭代它,但由于键不同,我不知道如何在Mustache.js

输出看起来像这个foo :(这里的内容)

javascript node.js mustache

5
推荐指数
1
解决办法
8400
查看次数

Jquery在输入时更改值

嗨有一个隐藏的输入显示:none div.我需要改变隐藏的输入值,但我不能..我试试这个:

<div style='display:none'>
   <input id='hidden_input' name='xxx' type='hidden' value='' />
</div>

$("#hidden_input").val('test');
Run Code Online (Sandbox Code Playgroud)

嘿帮忙?

jquery

4
推荐指数
1
解决办法
4万
查看次数

为什么Twitter在其嵌入代码中使用!函数语法

我正在查看Twitter的嵌入式代码并看到它们正在使用!function.虽然我知道这个评估是错误的,但我想知道它的重点是什么.

这是我所指的代码:

!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
1
解决办法
371
查看次数

OSX 10.7 $(窗口).width()返回错误的值

我不能第一个注意到这一点,但自从10.7出现以来他们实现了新的滚动条样式$(window).width()和$(window).height()不再正确返回浏览器的大小windows视口....

让我们说你想在加载时设置一个div大小的浏览器窗口...

// load jquery //

<div id="bob">
</div>

    <script>
      $('#bob').width($(window).width()).height($(window).height());
    </script>
Run Code Online (Sandbox Code Playgroud)

最终发生的事情是这样的 在此输入图像描述

对此我问WTF

这是一个问题的例子

http://lab.aerotwist.com/webgl/a3/vertex-manipulation/

html javascript css macos osx-lion

3
推荐指数
1
解决办法
349
查看次数