Open Hibop opened 6 years ago
var a = 0,
b = 0;
function A(a){
A = function (b){
alert(a + b++);
}
alert(a++);
}
A(1);
A(2);
result: 1 4
var n = 0;
function a(){
var n = 1;
function b(){
n++;
alert(n);
}
b();
return b;
}
var clusure = a();
clusure();
alert(n);
result: 2 3 1
var add = function (m) {
var temp = function (n) {
return add(m + n);
}
temp.toString = function () {
return m;
}
return temp;
};
add(3)(4)(5); // 12
add(3)(6)(9)(25); // 43
js难点汇总:
解析:
1问: 静态属性访问 2问: 函数定义和函数声明 3问: 函数执行后修改外层getName变量,然后返回this【非new】指向的是window 难度【4星】 4问: 联系3问重写 5问: 优先级 new (Foo.getName)() 实例化无this和返回值 函数 实际就是执行函数 6问: (new Foo()).getName() 实例化后有返回值 返回值分引用类型和基本类型 返回this和无返回值 最后都是返回的实例化对象 7问: 优先级new ((new Foo()).getName)();
参考: http://chuansong.me/n/1520504847015