-
var c=3;
function getC() {
this.c++;
return function (c) {
c=this.c*2;
console.log(c);
}
}
var obj3={
c:2,
getC:(function () {
this.c-=1;
return this.getC
})()
};
getC();
obj3.getC();
var f3=obj3.getC;
f3();
console.log(window.c);
console.log(obj3.c);
复制代码
-
function g1() {
this.g = "gg"
}
var obj4 = {
g1: g1,
gg: function () {
g1();
}
};
obj4.g1();
obj4.gg();
console.log(obj4);
console.log("g" in window);
复制代码
-
var number = 2;
var obj = {
number: 4,
fn1: (function () {
this.number *= 2;
number = number * 2;
var number = 3;
return function () {
this.number *= 2;
number *= 3;
alert(number);
}
})()
};
var fn1 = obj.fn1;
alert(number);
fn1();
obj.fn1();
alert(window.number);
alert(obj.number);
复制代码
-
var a = 2;
var obj1 ={
a:1,
fn1:(function(a){
this.a=a;
a++;
return function () {
this.a=a++;
console.log(a)
}
})(a)
}
obj1.fn1();
var fn1=obj1.fn1;
fn1()
复制代码
-
var number = 2;
var obj = {
number: 4,
fn1: (function () {
this.number *= 2;
number = number * 2;
var number = 3;
return function () {
this.number *= 2;
number *= 3;
alert(number);
}
})()
};
var fn1 = obj.fn1;
alert(number);
fn1();
obj.fn1();
alert(window.number);
alert(obj.number);
复制代码
var num = 2;
var obj = {num: 1};
obj.fn = (function (num) {
this.num += 2;
num--;
return function (n) {
this.num += 2;
num--;
console.log(n + ++num);
}
})(this.num);
var fn = obj.fn;
fn(2);
obj.fn(1);
console.log(num, obj.num);
复制代码