Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Improve Your (JavaScript)Kung Fu & Become Ultimate API Warrior

Improve Your (JavaScript)Kung Fu & Become Ultimate API Warrior

Presented at Santa Cruz JavaScript Meetup: http://www.meetup.com/santacruzjs/events/228475916/

• Do you know that one NaN will never equal to another NaN?
• Have you been trapped by Array’s slice vs splice?
• Aren’t you mad by the tedious DOM API such as initKeyEvent("keypress", true, true,null, null, false, false, false, false, 9, 0)?
• Can you ever figure out the difference between JavaScript’s String functions substring, substr, and slice?

Ariya Hidayat

February 10, 2016
Tweet

More Decks by Ariya Hidayat

Other Decks in Programming

Transcript

  1. var date = [14, 3, 77] var year = a.slice(2,

    1) year [] date [14, 3, 77] var date = [14, 3, 77] var year = a.splice(2, 1) year [77] date [14, 3]
  2. X1.value = 'Rare'; X2.value = 'Medium'; X3.value = 'Well done';

    Y.option = 'Fries'; Z.caption = 'Order'; X1.value = 'Rare'; X2.value = 'Medium'; X3.value = 'Well done'; Y.value = 'Fries'; Z.value = 'Order';
  3. slider.maxValue = 100; slider.minValue = 0; slider.value = 34; indicator.range

    = [100, 0]; indicator.progress = 61; slider.maximum = 100; slider.minimum = 0; slider.value = 34; indicator.maximum = 100; indicator.minimum = 0; indicator.value = 61;
  4. corner = new Point(10, 10); dim = new Size(70, 50);

    R = new Rect(corner, dim); Q = new Rect(10, 10, 80, 60); corner = new Point(10, 10); dim = new Size(70, 50); R = new Rect(corner, dim); Q = new Rect(10, 10, 70, 50); x1, y1, x2, y2 x, y, w, h
  5. var x = Math.sqrt(-2) isNaN(x) true x === NaN false

    isNaN('hola') true x == NaN false
  6. What’s in a name? that which we call a rose

    by any other name would smell as sweet...
  7. // Horizontal s1 = new Slider(true); // Vertical s2 =

    new Slider(false); s1 = new Slider({ orientation: 'horizontal' }); s2 = new Slider({ orientation: 'vertical' });
  8. // Animate the resize w.resize(250, 150, true); // Do not

    animate the resize w.resize(250, 150, false); w.resize(250, 150, { animate: true });
  9. // Expand + animate treeItem.setState(true, true); // Expand + don't

    animate treeItem.setState(true, false); // Collapse + animate treeItem.setState(false, true);
  10. this.callMe = "Adam"; flight.from = SFO; flight.to = JFK; this.name

    = "Adam"; flight.departure = SFO; flight.destination = JFK;
  11. var a = [14, 3, 77] var b = a.slice(1,

    2) a [14, 3, 77] b [3] var a = [14, 3, 77] var b = a.splice(1, 2) a [14] b [3, 77]
  12. var p = new Point(14, 3); p.translate(4, 4); p.translated(4, 4);

    var s = ' hal9000 '; s.trim(); s.trimmed();
  13. Your mind is like this water my friend, when it

    is agitated it becomes difficult to see. But if you allow it to settle, the answer becomes clear.