1、
function fn(i){
return function(n){
console.log(n + (i++))
}
}
var f = fn(10);
f(20);
fn(20)(40);
fn(30)(50);
f(30);
2、
function fn(i){
return function(n){
console.log(n+(--i));
}
}
var f = fn(2);
f(3);
fn(4)(5);
fn(6)(7);
f(8);
3、
var num = 10;
var obj = {num:20};
obj.fn = (function(num){
this.num = num * 3;
num++;
return function(n){
this.num += n;
num++;
console.log(num);
}
})(obj.num);
var fn = obj.fn;
fn(5);
obj.fn(10);2
console.log(num,obj.num);
4、
var fullName = 'language';
var obj = {
fullName: 'javascript',
prop: {
getFullName: function(){
return this.fullName;
}
}
}
console.log(obj.prop.getFullName());
var test = obj.prop.getFullName;
console.log(test());
5、
var Tom = {
name: 'Tom',
show: function(){
console.log(this.name);
},
wait: function(){
var fun = this.show;
fun();
}
}
Tom.wait();
6、
this.a = 0;
this.b = function(){
alert(this.a)
}
}
fun.prototype={
b:function(){
this.a = 20;
alert(this.a);
},
c: function(){
this.a = 30;
alert(this.a);
}
}
var my_fun = new fun();
my_fun.b();
my_fun.c();
计算题结果 1、 30 60 80 41 2、 4 8 12 8 3、 22 23 65 30 4、 undefined 'language' 5、 'window' 6、 0 30