Javascript port var test = { a: Infinity }
Javascript port var test = { a: Infinity }
我正在将一些Javascript代码移植到Swift,我希望能得到一些简写代码的帮助。我对大部分代码都很熟悉,但是我发现简写真的很难读。
在一个函数中,变量定义为
var test = { a: Infinity };
在另一个函数中,变量作为比较语句的一部分返回:
return {a: b}
谁能解释一下这段代码?
这是我移植的代码(光线投射):
Map.prototype.cast = function(point, angle, range) {
var self = this;
var sin = Math.sin(angle);
var cos = Math.cos(angle);
var noWall = { length2: Infinity };
return ray({ x: point.x, y: point.y, height: 0, distance: 0 });
function ray(origin) {
var stepX = step(sin, cos, origin.x, origin.y);
var stepY = step(cos, sin, origin.y, origin.x, true);
var nextStep = stepX.length2 < stepY.length2 ? inspect(stepX, 1, 0, origin.distance, stepX.y) : inspect(stepY, 0, 1, origin.distance, stepY.x);
if (nextStep.distance > range) return [origin];
return [origin].concat(ray(nextStep));
}
function step(rise, run, x, y, inverted) {
if (run === 0) return noWall;
var dx = run > 0 ? Math.floor(x + 1) - x : Math.ceil(x - 1) - x;
var dy = dx * (rise / run);
return { x: inverted ? y + dy : x + dx, y: inverted ? x + dx : y + dy, length2: dx * dx + dy * dy };
}
我不明白的部分是:
var noWall = { length2: Infinity };
and
length2: dx * dx + dy * dy
这些是做什么的?
感谢格雷格这段代码是JavaScript中的语法错误:
return test: b
我猜你的代码不打算通过标准的JavaScript编译器运行,"测试"部分可能与某种类型的单元测试系统有关。
如果可以的话,请与更熟悉代码的人进行检查,否则就使用此代码作为您的Swift代码:
return b
相关文章:
- infinity.js的最佳实践
- Chrome扩展多个端口导致Disconnected Port错误
- infinity是如何在javascript中实现的
- 为什么在定义回调/侦听器函数(异步消息传递,port.on)后没有立即设置全局变量
- Firefox 附加组件 SDK Worker.port 事件不起作用
- 使用 self.port.on 时,火狐内容脚本中的变量未更新
- Firefox addon - port.emit inside port.on
- Chrome Console Error: chromeHidden.Port.dispatchOnDisconnect
- 无法让 port.emit 和 port.on 在 Firefox 附加组件中工作
- 在 Firefox Add-on SDK 中使用 port.on 传递数据
- runtime.sendMessage 和 port.postMessage 之间的区别
- 尝试将Python/flask应用程序部署到Heroku时,未能绑定到$PORT
- if(x<Infinity)是检查x是否不是NaN并且可以强制为数字的最佳方法
- Firefox插件:为什么面板中的self.port'的contentscript未定义
- Java Script INFINITY property
- JavaScript-Infinity和NaN应该是数字吗
- Chrome调试器:每次计算Nan或Infinity时,是否可以停止调试器中的脚本
- process.env.PORT打印奇怪的字符串
- 从infiniteCarousel中移除Infinity
- Javascript port var test = { a: Infinity }