+Given the following, what are the results of the `console.log()`
+ console.log("outer func: this.foo = " + this.foo);
+ console.log("outer func: self.foo = " + self.foo);
+ console.log("inner func: this.foo = " + this.foo);
+ console.log("inner func: self.foo = " + self.foo);
+for (var i = 0; i < 5; i++) {
+ var btn = document.createElement('button');
+ btn.appendChild(document.createTextNode('Button ' + i));
+ btn.addEventListener('click', function(){ console.log(i); });
+ document.body.appendChild(btn);
+Given the following, what are the return values