我正在开发一个javascript应用程序,它大量使用数学运算,每个鼠标移动几十个调用.我一直在研究其他人的代码作为起点,我经常找到原生javascript数学的解决方法,比如......
var pi = Math.PI
var distance = (x * x) + (y * y) / R * R
var pixels = ~~(x/y)
Run Code Online (Sandbox Code Playgroud)
使用Math对象会有显着的性能损失吗?如果是这样,有哪些常见的解决方法?
我目前将数据存储在XML文档中作为二进制文件,长度为20位,每个数字代表一个布尔值.
<matrix>
<resource type="single">
<map>10001010100011110000</map>
<name>Resource Title</name>
<url>http://www.yoursite.com</url>
</resource>
</matrix>
Run Code Online (Sandbox Code Playgroud)
我正在使用jQuery解析它,并且我正在使用for循环并charAt()确定如果值为=="1"则是否执行操作.
for (var i = 0; i < _mapLength; i++) {
if (map.charAt(i) == "1") {
//perform something here
}
}
Run Code Online (Sandbox Code Playgroud)
这种情况发生了几次,因为HUGE循环运行缓慢.有人告诉我,我应该使用按位运算符来处理它,它会运行得更快.
有人能给我一个如何做到这一点的例子吗? 我曾尝试在线阅读教程,他们似乎正在飞扬我的脑海.(仅供参考:我打算创建一个Ruby脚本,将我的二进制0和1转换成我的XML中的位.)
或者有没有人知道一个好的,简单的(甚至可能是愚蠢的版本)教程或者可以帮助我掌握这些按位运算符概念的东西?