本质是被装饰函数名的引用发生改变。被@outer这种语法糖装饰后,outer找了一个临时的func变量储存原被装饰函数的指向/引用,在inne函数中执行func函数(此时func函数指向被装饰的原函数)并添加其它功能,inner返回func指向的原函数的返回值,outer返回inner函数引用,此时原函数指向/引用inner函数。
本质是被装饰函数名的引用发生改变。被@outer这种语法糖装饰后,outer找了一个临时的func变量储存原被装饰函数的指向/引用,在inne函数中执行func函数(此时func函数指向被装饰的原函数)并添加其它功能,inner返回func指向的原函数的返回值,outer返回inner函数引用,此时原函数指向/引用inner函数。