繁体   English   中英

JavaScript中的“装饰器功能”和“装饰器设计模式”有什么区别?

[英]What is the difference between a “decorator function” and “decorator design pattern” in JavaScript?

在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

但是装饰器的设计模式意味着您要接受一个对象并对其进行修改?

装饰器是一种通用模式。 根据域的不同,它可能意味着多种情况。

它们也被称为“包装器”或“适配器”,IMO更适用于函数包装范例。 就是说,不要太拘泥于精确的措辞:它们是模式 ,而不是不变的法律。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM