Size: 1694
Comment:
|
Size: 3511
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from rhino | |
Line 71: | Line 72: |
== switch case example == * rhino -strict example.js {{{#!highlight javascript var caseA = ["a","e","i","o","u"]; var caseB = ["b","c","d","f","g"]; var caseC = ["h","j","k","l","m"]; var caseD = ["n","p","q","r","s","t","v","w","x","y","z"]; function console(){} console.log = function(message){ print(message); }; function check_if(string){ var letter = string[0]; if( caseA.indexOf(letter) >=0) return "A"; if( caseB.indexOf(letter) >=0) return "B"; if( caseC.indexOf(letter) >=0) return "C"; if( caseD.indexOf(letter) >=0) return "D"; } function check_case2(string){ var letter = string[0]; switch(true){ case caseA.indexOf(letter) >=0: return "A"; case caseB.indexOf(letter) >=0: return "B"; case caseC.indexOf(letter) >=0: return "C"; case caseD.indexOf(letter) >=0: return "D" ; } } function check_case(string){ var letter = string[0]; switch(letter){ case "a": case "e": case "i": case "o": case "u": return "A"; case "b": case "c": case "d": case "f": case "g": return "B"; case "h": case "j": case "k": case "l": case "m": return "C"; default: return "D"; } } console.log( check_if("adfgt") ); console.log( check_if("fdfgt") ); console.log( check_if("kdfgt") ); console.log( check_if("wdfgt") ); console.log("####"); console.log( check_case("adfgt") ); console.log( check_case("fdfgt") ); console.log( check_case("kdfgt") ); console.log( check_case("wdfgt") ); console.log("####"); console.log( check_case2("adfgt") ); console.log( check_case2("fdfgt") ); console.log( check_case2("kdfgt") ); console.log( check_case2("wdfgt") ); console.log("####"); }}} |
rhino
Rhino is an open-source implementation of JavaScript written entirely in Java.
It is typically embedded into Java applications to provide scripting to end users.
It is embedded in J2SE 6 as the default Java scripting engine.
https://developer.mozilla.org/en-US/docs/Rhino
Invoke JavaScript from Java example
1 import javax.script.Invocable;
2 import javax.script.ScriptEngine;
3 import javax.script.ScriptEngineManager;
4 import javax.script.ScriptException;
5 import java.io.FileNotFoundException;
6 import java.io.FileReader;
7
8 public class JSTest {
9
10 /**
11 * @param args
12 */
13 public static void main(String[] args) {
14 ScriptEngineManager sem = new ScriptEngineManager();
15 ScriptEngine engine = sem.getEngineByName("ECMAScript");
16 FileReader fr = null;
17 String path = "/tmp/test.js";
18 try {
19 fr = new FileReader(path);
20 } catch (FileNotFoundException e) {
21 System.out.println(String.format("File %s not found", path));
22 }
23
24 if (fr != null) {
25 try {
26 engine.eval(fr);
27 if (engine instanceof Invocable) {
28 Invocable iv = (Invocable) engine;
29
30 try {
31 System.out.println(iv.invokeFunction("isOdd", new Integer(4)));
32 System.out.println(iv.invokeFunction("isOdd", new Integer(5)));
33 } catch (NoSuchMethodException ex) {
34 ex.printStackTrace();
35 } catch (ScriptException ex) {
36 ex.printStackTrace();
37 }
38 }
39 } catch (ScriptException ex) {
40 ex.printStackTrace();
41 }
42 }
43 }
44
45 }
switch case example
- rhino -strict example.js
1 var caseA = ["a","e","i","o","u"];
2 var caseB = ["b","c","d","f","g"];
3 var caseC = ["h","j","k","l","m"];
4 var caseD = ["n","p","q","r","s","t","v","w","x","y","z"];
5
6 function console(){}
7
8 console.log = function(message){
9 print(message);
10 };
11
12 function check_if(string){
13 var letter = string[0];
14 if( caseA.indexOf(letter) >=0) return "A";
15 if( caseB.indexOf(letter) >=0) return "B";
16 if( caseC.indexOf(letter) >=0) return "C";
17 if( caseD.indexOf(letter) >=0) return "D";
18 }
19
20 function check_case2(string){
21 var letter = string[0];
22
23 switch(true){
24 case caseA.indexOf(letter) >=0: return "A";
25 case caseB.indexOf(letter) >=0: return "B";
26 case caseC.indexOf(letter) >=0: return "C";
27 case caseD.indexOf(letter) >=0: return "D" ;
28 }
29
30 }
31
32 function check_case(string){
33 var letter = string[0];
34 switch(letter){
35 case "a":
36 case "e":
37 case "i":
38 case "o":
39 case "u":
40 return "A";
41 case "b":
42 case "c":
43 case "d":
44 case "f":
45 case "g":
46 return "B";
47 case "h":
48 case "j":
49 case "k":
50 case "l":
51 case "m":
52 return "C";
53 default:
54 return "D";
55 }
56 }
57
58 console.log( check_if("adfgt") );
59 console.log( check_if("fdfgt") );
60 console.log( check_if("kdfgt") );
61 console.log( check_if("wdfgt") );
62 console.log("####");
63 console.log( check_case("adfgt") );
64 console.log( check_case("fdfgt") );
65 console.log( check_case("kdfgt") );
66 console.log( check_case("wdfgt") );
67 console.log("####");
68 console.log( check_case2("adfgt") );
69 console.log( check_case2("fdfgt") );
70 console.log( check_case2("kdfgt") );
71 console.log( check_case2("wdfgt") );
72 console.log("####");