javascript - JavaScript 中 "decorator function"和 "decorator design pattern"有什么区别?

标签 javascript function object decorator

在 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 更适用于函数包装范例。也就是说,不要太在意精确的措辞:它们是模式,而不是一成不变的法律。

关于javascript - JavaScript 中 "decorator function"和 "decorator design pattern"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21414506/

相关文章:

javascript - 是否可以在 Angular 选择标签中使用 ngFor?

javascript - 使用 ...spread,但 redux 仍然会发出有关状态突变的警告

c - C 梯形法则错误答案

php - 防止对象下载、保存、缩放等

javascript - 如何在 javascript 中调用对象键 (codecademy)

java对象,我是否使用animal speedy = new dog();创建动物或狗?为什么?

javascript - React 和 Flowtype - 继承类

javascript - Google Maps APIv3 绘图管理器的 onChange 事件

r - 将矩阵应用于函数

javascript - 返回函数内的组件不起作用