我刚刚开始学习 Javascript,正在为我和一些 friend 玩的 Angular 色扮演游戏中的 Angular 色表编辑 pdf,以便于使用。我希望它自动填写表单 - 到目前为止我已经让它工作了,但我想知道是否有办法压缩我的代码并减少重复?
var one = this.getField("Stat.0.0");
var statfield = this.getField("Text100.0.1");
if(one.value=="1"){
statfield.value="-30";
}
if(one.value=="2"){
statfield.value="-20";
}
if(one.value=="3"){
statfield.value="-10";
}
if(one.value=="4"){
statfield.value="-5";
}
if(one.value=="5"){
statfield.value="0";
}
if(one.value=="6"||one.value=="7"){
statfield.value="5";
}
if(one.value=="8"||one.value=="9"){
statfield.value="10";
}
if(one.value=="10"){
statfield.value="15";
}
if(one.value=="11"||one.value=="12"){
statfield.value="20";
}
if(one.value=="13"||one.value=="14"){
statfield.value="25";
}
if(one.value=="15"){
statfield.value="30";
}
if(one.value=="16"||one.value=="17"){
statfield.value="35";
}
if(one.value=="18"||one.value=="19"){
statfield.value="40";
}
if(one.value=="20"){
statfield.value="45";
}
关于清理这个问题有什么建议吗?
最佳答案
使用 switch()
代替 if
语句。不要忘记break
的:
var one = this.getField("Stat.0.0").value();
var statfield = this.getField("Text100.0.1");
var oneval = one.value;
switch (oneval) {
case "1":
statfield.value = "-30";
break;
//case...
case ("1" || "7"):
statfield.value = "5";
break;
//case...
default:
break;
}
或(注意break
仅适用于case“7”
):
switch (oneval) {
//case...
case "1":
case "7":
statfield.value = "5";
break;
//case...
}
关于javascript - PDF Javascript - 设置字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44090822/