1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
function addEvent(fn){
var oldFun = window.onload;
if(oldFun){
window.onload = function(){
oldFun();
fn();
}
}else{
window.onload = fn;
}
}
var fn1 = function(){
console.log(1);
}
var fn2 = function(){
console.log(2);
}
var fn3 = function(){
console.log(3)
}
addEvent(fn1);
addEvent(fn2);
addEvent(fn3);
// 加强版本
var fn_concat = function(fn1,fn2){
if(fn1){
return function(){
fn1();
fn2();
}
}
return fn2;
}
var fn4 = fn_concat(fn1,fn_concat(fn2,fn3));
// 链式调用版本 有错误的代码
var _blank = function(){
}
//看似完美的代码,发现 这个只能传递一个参数 永远做不到链式调用
var chain=function(fn){
if(fn){
return function(){
_blank();
fn();
}
}
return _blank;
}
|