title: ActionScript 3 - What do these codes do?
body: <p>I'me trying to understand some Action Script 3 features in order to port some code.</p>
  
  <h2>Code 1</h2>
  
  <p>How does the "++" influences the index part mean? If <code>idx_val=0</code> then what xvaluer index will be modified?</p>
  
  <pre><code>xvaluer(++idx_val) = "zero";
  </code></pre>
  
  <h2>Code 2</h2>
  
  <p>Then I have this: what is the meaning of this part of code?
  What is being assigned to bUnicode in the last 3 lines?
  (can you explain me the "&lt;&lt;"s and ">>"s)</p>
  
  <pre><code>bUnicode = new Array(2);
  i = (i + 1);
  i = (i + 1);
  bUnicode[0] = aData[(i + 1)] &lt;&lt; 2 | aData[(i + 1)] &gt;&gt; 4;
  i = (i + 1);
  bUnicode[1] = aData[i] &lt;&lt; 4 | aData[(i + 1)] &gt;&gt; 2;
  </code></pre>
  
  <h2>Code 3</h2>
  
  <p>I haven't the faintest idea of what is happening here.
  What is "as" ? What is the "?" ?</p>
  
  <pre><code>bL = c &gt; BASELENGTH ? (INVALID) : (s_bReverseLPad[c]);
  </code></pre>
  
  <h2>Code 4</h2>
  
  <p>What is "&amp;&amp;" ?</p>
  
  <pre><code>  if ((i + 1) &lt; aData.length &amp;&amp; s_bReverseUPad(aData((i + 1))) != INVALID)
  </code></pre>
  
  <h2>Code 5</h2>
  
  <p>What is "as" ? What is the "?" ?</p>
  
  <pre><code>n2 = c &lt; 0 ? (c + 256)  as  (c)
  bOut.push(n1 &gt;&gt; 2 &amp; 63)
  bOut.push((n1 &lt;&lt; 4 | n2 &gt;&gt; 4) &amp; 63)//What is the single "&amp;" ?
  bOut.push(n2 &lt;&lt; 2 &amp; 63)
  </code></pre>
  
  <p>Finally, what are the differences between "||" and "|", and between "=" and "==" ?</p>