Discuss / JavaScript / 和python的装饰器比较

和python的装饰器比较

Topic source

王闪_Frank

#1 Created at ... [Delete] [Delete and Lock User]

想请教一下,JavaScript的装饰器和python的装饰器是一个原理吗?

lujaymin

#2 Created at ... [Delete] [Delete and Lock User]

不一样吧

#Python 装饰器
count = 0

def decorator(func):
    def wrapper(*args, **kwargs):
        global count
        count += 1
        return func(*args, **kwargs)
    return wrapper

@decorator
def func(x):
    print 'x:', x

for i in range(5):
    func(i)
print 'count:', count

#Python 模拟上面JS的装饰器
def func(x):
    print 'x:', x
old_func = func
def func(*args, **kwargs):
     global count
     count += 1
     return old_func(*args, **kwargs)

for i in range(5):
    func(i)
print 'count:', count

  • 1

Reply