Alo*_*lon 0 javascript actionscript-3
我对javascript有点新意,所以我不知道如何将这个在actionscript3中编写的函数重写为js:
function map(v:Number, a:Number, b:Number, x:Number = 0, y:Number = 1):Number {
return (v == a) ? x : (v - a) * (y - x) / (b - a) + x;
}
Run Code Online (Sandbox Code Playgroud)
它在javascript中会是什么样子?究竟是什么原因导致现在无法正常工作?
如果您删除所有类型数据,它应该在JS中工作,但您需要检查这些默认参数值,因为不支持默认参数.
function map(v, a, b, x, y) {
if(x == undefined || isNaN(x)) x = 0;
if(y == undefined || isNaN(y)) y = 1;
return (v == a) ? x : (v - a) * (y - x) / (b - a) + x;
}
Run Code Online (Sandbox Code Playgroud)
要专门回答问题的最后部分,有两个问题会阻止您的代码作为JavaScript运行:
我在上面对NaN的额外测试是一个额外的预防层,并不是必需的,但它同样可以用于所有参数,使代码更健壮.
| 归档时间: |
|
| 查看次数: |
506 次 |
| 最近记录: |