Basic Operators

Operators

 * + for addition
 * - for subtraction
 * asterisk for multiply
 * / for divide

these two are the same: myNum = myNum + 6; myNum += 6;


 * ++ add one
 * -- decrease by one

those can be postfix or prefix operators but remember that only prefix affects it immediately. myNum = 5; trace(myNum++);      // displays 5 (adds one to next trace) trace(myNum);      // displays 6 (has added one from the postfix) trace(++myNum);      // displays 7 (adds one as its a prefix) 

use this incremental thing to modify property over time: my_mc.onEnterFrame = function { this._rotation += 5;      // makes mc rotate by 5 degrees clockwise for each tick of frame rate };

Checking/Comparing Values

 * == checks for logical equality
 * != checks for logical inequality
 * === checks for strict logical equality
 * !== checks for strict logical inequality

logical equality test trace(5 == 6);      // false trace(6 == 6);      // true trace(6 == "6");      // true

logical inequality test trace(5 != 6);      // true trace(6 != 6);      // false trace(6 != "6");      // false

notice how with or without the quotation marks its okay... but with the strict logical operators, its not the case.

strict logical equality test trace(5 === 6);      // false trace(6 === 6);      // true trace(6 === "6");      // false trace("6" === 6);      // false trace("6" === "6");      // true

strict logical inequality test trace(5 !== 6);      // true trace(6 !== 6);      // false trace(6 !== "6");      // true trace("6" !== 6);      // true trace("6" !== "6");      // false

you have to remember that you shouldn't use just one = to test if its equal as the single = assigns values to things.

Checking Datatype
var myVar = 5; if (typeof myVar == "number") { trace("Its a number"); }

NaN is when its Not a Number but you can't just check it against the NaN. You have to use the special isNaN function (conversely, you can also use !isNaN to find a number)

var myVar - 15 - "coffee"; if (isNaN(myVar)) { trace("Thats not a number"); }

Sometimes when I have a variable that ought to be a number but for some reason it doesn't work like a number, i simply multiply it by 1 (*1).

Comparing Arrays
when arrays are compared to see if they are the same, it has to be the exact same thing ie: can't just contain the same items, it has to be equalled, like literally...

arrayOne = newArray("wonk", "wink"); arrayTwo = newArray("wonk", "wink"); trace(arrayOne == arrayTwo);		// displays false

arrayOne = newArray("wonk", "wink"); arrayOne = arrayTwo; trace(arrayOne == arrayTwo);		// displays true

Conditionals
var message = "yellow";                        // the equal sign assigns values to variables trace ("big " + message + " truck");           // prints "big yellow truck" if (message == "yellow") {                     // the double equal sign checks to see if variables are equal trace ("yes, i did say big yellow truck.");    // prints "yes, i did say big yellow truck" trace (typeof message);                        // prints "string" var x = a;                                     // prints "number" trace (typeof a) }</highlightSyntax>

var x = 1; while (x <= 5) {               // as long as x is less than 5... trace (x);                     // return 1 in output x = x + 1;                     // return 2 3 4 5 in output }</highlightSyntax>