似乎在JavaScript函数中接受一个函数,修改行为并返回该函数是装饰器。例如,这将是装饰器功能:
function doubleDec (func){
return function(){
return 2*func.apply(this, arguments)
}
}
function sum(a, b) {
return a + b
}
var doubleSum = doubleDec(sum)
alert(doubleSum(1,2)) //=> 6
但装饰设计模式意味着你正在接受一个对象......并修改它?
答案 0 :(得分:0)
装饰器是一种通用模式;它可能意味着多种不同的东西。
它们也被称为“包装器”或“适配器”,IMO更适用于功能包装范例。也就是说,不要过于依赖精确的措辞:它们是模式,而不是一成不变的法则。