返回函数的Javascript函数
几周前,我发了一个微博说我喜欢回功能的功能。很快就有几个回复,基本上都是……是什么东东对于程序员来说,了解返回函数的功能是一项非常重要的技能。使用它,您可以节省大量代码,使Javascript更高效,并让您进一步了解Javascript的优点。假设您有一个具有两个子对象的对象,它们都有get方法,这两种方法非常相似,稍有不同:
访问器= { { var
分类:{
获取:函数(){
返回类型this.getattribute('sortable)!= 'undefined;
}
},
投掷:{
获取:函数(){
返回类型this.getattribute('droppable)!= 'undefined;
}
}
};
重复的代码不是一个好现象,所以我们必须创建一个外部函数并接受一个属性名:
功能getAttribute(ATTR){
返回类型this.getattribute(ATTR)!= 'undefined;
}
访问器= { { var
分类:{
获取:函数(){
返回getAttribute('sortable);
}
},
投掷:{
获取:函数(){
返回getAttribute('droppable);
}
}
};
这是更好的,但它仍然不是完美的,因为仍然有一些多余的部分。更好的方法是让它回到最终需要的函数,这样我们就可以消除冗余函数。
功能generategetmethod(ATTR){
返回函数(){
返回类型this.getattribute(ATTR)!= 'undefined;
};
}
访问器= { { var
分类:{
得到:generategetmethod('sortable)
},
投掷:{
得到:generategetmethod('droppable)
}
};
这是原来的方法,与之相当:
访问器= { { var
分类:{
获取:函数(){
返回类型this.getattribute('sortable)!= 'undefined;
}
},
投掷:{
获取:函数(){
返回类型this.getattribute('droppable)!= 'undefined;
}
}
};
* /
上面所看到的是返回函数的函数。每个子对象都有自己的get方法,但它消除了冗余函数嵌套执行过程。
这是一个非常有用的技术,可以帮助您消除代码的重复。如果您正确地使用它,您可以使代码更易读,更易于维护!
你明白吗