先上代码
var key = 0; function createVar(){ console.log('hello'); if(key == 1){ createVar = function(){ return 111; } }else if( key ==2 ){ createVar = function(){ return 222; } }else{ createVar = function(){ return 333; } } return createVar(); } console.log(createVar()); console.log(createVar()); console.log(createVar()); console.log(createVar()); //输出结果 hello 333 333 333 333
从打印的结果可以看出只输出了一次hello,这样做的好处是,不用每次都进行没必要的代码段,如里面的if判断,
适合那些对环境变量等不变因素进行判断的函数,例如根据浏览器类型生成XMLHttpRequest等,在同一个页面就无需判断多次