在 JavaScript 中由装饰器重新定义后的原始函数值
The original function value after it has been redefined by decorator in JavaScript
在装饰器模式中,原始函数可以像这样重新定义:original = wrapper(original)
.如果以下示例中的wrapper2
已被之前的wrapper
函数(a + b + 12(重新定义,为什么它使用原始aa
函数(a + b(?
function aa(a, b) {
return a + b
}
console.log(aa) //function aa(a,b) {return a+b}
console.log(aa(1, 2)) //3
function wrapper(fn) {
return function() {
return arguments[0] + arguments[1] + 12
}
}
aa = wrapper(aa)
console.log(aa) //function(){return arguments[0]+arguments[1]+12}
console.log(aa(1, 2)) //15
function wrapper2(fn) {
return function() {
return arguments[0] + arguments[1] + 120
}
}
aa = wrapper2(aa)
console.log(aa) //function(){return arguments[0]+arguments[1]+120}
console.log(aa(1, 2)) //123
你根本没有使用fn。试试这个:
function wrapper(fn) {
return function() {
return ( fn( arguments[0], arguments[1] ) + 12 );
}
}
相关文章:
- 用嵌套函数和默认函数定义函数
- 自定义函数中的光标位置
- Jquery未定义函数正在停止其他操作
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- javascript无法重新定义函数内部的全局对象
- 定义函数时,如何捕获外部变量的当前值
- 能够在定义函数表达式之前使用它
- Google Sheet自定义函数返回0
- Javascript-defineProperty和直接在对象上定义函数之间的区别
- 其中是自定义函数中的属性
- 创建自定义函数以在函数上运行完整的多选下拉列表
- Google Sheets自定义函数条件格式
- 为什么当我需要位于顶部的函数时,在脚本中的某些点上没有定义函数
- 使用变量的名称,然后为该变量定义函数
- dalek回调或自定义函数
- 如何在angular ui模态控制器中定义函数
- Uncaught ReferenceError:尝试在Android网络视图中访问时未定义函数
- UI网格:如何从自定义函数访问MODEL_COL_FIELD
- 在构造函数中定义函数会比将其附加到原型消耗更多的内存
- 使用 Javascript 中的函数重新定义函数