Batching several weeks’ worth of learning into a single post because I was too busy having fun in Kansas (*happy dance, again*) to post.
- The difference between prototypical and class-based object oriented programming languages (at least at a surface level): objects in prototypical languages (like JavaScript) are derived from other objects, and can become prototypes for other objects. In class-based languages (like PHP), you define a class, and then create objects that are instances of that class.
- At an immediate, practical level, this means that you can create a new namespace in JavaScript by defining a new object (compare this to defining a namespace in PHP).
- Inside a JavaScript constructor function, variables and functions declared directly are private. Variables and functions declared using
this
are public (or privileged—see Douglas Crockford’s “Private Members in JavaScript” for more). - In JavaScript,
innerHTML
can’t be appended—you can use+=
to append new content, but the end effect is to rewrite/reload all content withininnerHTML
on the page, rather than to tack on new material. - JavaScript has 12 types of nodes. Each has a number. Elements are 1, text nodes are 3.
- The global context in JS is (in web browsers) the window object.
- I liked this history of JavaScript (and JScript and ECMAScript).
- I’m looking forward to installing a few of these Sublime Plugins—I use Bracket Highlighter and Color Highlighter all the time, and I have Emmet installed but keep forgetting to use it. SublimeCodeIntel and AdvancedNewFile sound particularly helpful.
- How to tear down a deck, what a tiller is and how to use it, and how to lay weed barrier fabric: much landscaping work was done in Kansas last week.
- Lunch at Blue Nile in Kansas City’s City Market last week reminded me that I need more Ethiopian food in my life.
- You can totally make a Dutch baby in a 9×13 pan. Wishing I had known this for the 26 years of life when I didn’t own a cast iron skillet.