JavaScript(Rhino)调节

时间:2014-02-26 16:16:06

标签: javascript conditional-statements rhino

我有一段生成数字的代码

num = scriptletInput;

var s = num+"";
while (s.length < 3) s = "0" + s;

// To set the response of the operation: 
scriptletResponse = "Success"; 

// To set the result of the operation 
scriptletResult = s; 

在这种情况下,生成的数字将以“001”

开头

现在我想要包含一个条件,将存在一个变量,并且“if”变量的内容等于字符串“image”,开始生成大于100的数字,但是如果变量不包含字符串“image”生成以001开头的数字。我该怎么做?

**

发布编辑:

**

使用以下代码在某种程度上成功 从全局上下文我收到一个名为imageType的变量(可能包含字符串“image”或不同) 在这里评估我做过的imageType变量的输入:

num = scriptletInput;
imageVar = imageType;

var s = num+"";
while (s.length < 3) {
if (imageVar === "image") {
s = "1" + s;
} else{
s = "0" + s;
}
}

// To set the response of the operation: 
scriptletResponse = "Success"; 

// To set the result of the operation 
scriptletResult = s;

如果变量imageType等于字符串“image”,则生成数字111;如果同一变量不包含字符串,则生成数字001。我本来喜欢开始生成数字100而不是111,但对我来说这是一个好开始,至少要学习东西:)

1 个答案:

答案 0 :(得分:0)

如果我理解了您的问题,那么我认为您正在寻找此问题(也就是说,如果100等于“图片”,则会以imageVar开头。

importPackage(java.lang);
function getNum(num, imageVar) {
  if (imageVar === "image") {
    if (num == 0) {
      num = 100;
    } else if (num < 100) {
      num += 100;
    }
  }
  var s = num+"";
  while (s.length < 3) {
    s = "0" + s;
  }
  return s;
}

var iv = "test";
for (var i = 0; i < 10; i++) {
  System.out.println("Loop1: " + getNum(i, iv));
}
iv = "image";
for (var i = 0; i < 10; i++) {
  System.out.println("Loop2: " + getNum(i, iv));
}

输出

Loop1: 000
Loop1: 001
Loop1: 002
Loop1: 003
Loop1: 004
Loop1: 005
Loop1: 006
Loop1: 007
Loop1: 008
Loop1: 009
Loop2: 100
Loop2: 101
Loop2: 102
Loop2: 103
Loop2: 104
Loop2: 105
Loop2: 106
Loop2: 107
Loop2: 108
Loop2: 109