xref: /OpenGrok/opengrok-indexer/src/test/resources/sources/javascript/function.js (revision 2bcacabbe843448903326d34ff21a265b5f37596)
1*2bcacabbSAdam Hornacek/*
2*2bcacabbSAdam Hornacek * Sample js program
3*2bcacabbSAdam Hornacek */
4*2bcacabbSAdam Hornacek
5*2bcacabbSAdam Hornacekvar date = new Date(96, 11, 25);
6*2bcacabbSAdam Hornacek//reference
7*2bcacabbSAdam Hornacekvar ref = date;
8*2bcacabbSAdam Hornacek
9*2bcacabbSAdam Hornacekref.setDate(21);
10*2bcacabbSAdam Hornacek
11*2bcacabbSAdam Hornacekdate.getDate(); //21
12*2bcacabbSAdam Hornacek
13*2bcacabbSAdam Hornacek// The same is true when objects and arrays are passed to functions.
14*2bcacabbSAdam Hornacek// The following function adds a value to each element of an array.
15*2bcacabbSAdam Hornacek// A reference to the array is passed to the function, not a copy of the array.
16*2bcacabbSAdam Hornacek// Therefore, the function can change the contents of the array through
17*2bcacabbSAdam Hornacek// the reference, and those changes will be visible when the function returns.
18*2bcacabbSAdam Hornacekfunction main(totals, x)
19*2bcacabbSAdam Hornacek{
20*2bcacabbSAdam Hornacek    totals[0] = totals[0] + x;
21*2bcacabbSAdam Hornacek    totals[1] = totals[1] + x;
22*2bcacabbSAdam Hornacek    totals[2] = totals[2] + x;
23*2bcacabbSAdam Hornacek}
24*2bcacabbSAdam Hornacek
25*2bcacabbSAdam Hornacekvar numberliteral = 0x4f;
26*2bcacabbSAdam Hornacek
27*2bcacabbSAdam Hornacek(date == ref)           // Evaluates to true
28*2bcacabbSAdam Hornacek
29*2bcacabbSAdam Hornacekvar ndate= new Date(96, 11, 25);
30*2bcacabbSAdam Hornacekvar sameobjectasndate = new Date(96, 11, 25);
31*2bcacabbSAdam Hornacek
32*2bcacabbSAdam Hornacek(ndate != sameobjectasndate)    // true !
33*2bcacabbSAdam Hornacek
34