自己去分析写解释
// 练习题1
var b = {
a: 23,
c: 3,
d: {
a: 78,
e: {
a: 100,
f: function () {
console.log(this.a);
}
}
}
}
var fn = b.d.e.f;
fn(); // undefined
b.d.e.f(); // 100
// 练习题2 修改$对象里的代码,使得以下代码运行正常
var $ = {
fn:function(){
console.log(1);
return this; //返回值缺失
},
fn2:function(){
console.log(2);
}
}
$.fn().fn2();
// // 练习题3
var myObject = {
foo: "bar",
func : function(){
var self = this;
console.log(this.foo); //bar
console.log(self.foo); //bar
(function(){
console.log(this.foo); //undefined
console.log(this); //window
console.log(self.foo); //bar
}());
}
};
myObject.func();
// // 练习题4
var x = 3;
var y = 4;
var obj = {
x : 1,
y : 6,
getX : function(){
var x = 5;
return function(){
return this.x;
}();
},
getY: function(){
var y = 7;
return this.y;
}
}
console.log(obj.getX()); //3
console.log(obj.getY()); //6
// // 练习题5
function a(xx) {
this.x = xx; // window.x = 6
return this;
}
var x = a(5); // x = window
var y = a(6); // y = window
console.log(x.x); // window.x undefined
console.log(y.x); // window.x 6