今天看到**@加乙個函式名不知道是什麼意思,所以來記錄一下
這是es6的乙個新特性 類的裝飾器
裝飾器可以用來裝飾整個類。
@testableclass mytestableclass
function
testable(target)
mytestableclass.istestable
//true
上面**中,@testable
就是乙個裝飾器。它修改了mytestableclass
這個類的行為,為它加上了靜態屬性istestable
。testable
函式的引數target
是mytestableclass
類本身。
基本上,裝飾器的行為就是下面這樣。
@decoratorclass a {}
// 等同於
class a {}
a = decorator(a) || a;
也就是說,裝飾器是乙個對類進行處理的函式。裝飾器函式的第乙個引數,就是所要裝飾的目標類。
function testable(target)
上面**中,testable
函式的引數target
,就是會被裝飾的類。
函式名用途,初始裝飾器
函式名的使用,第一類物件 單獨的函式名 函式這個整體,加括號代表呼叫函式,會有返回值,單獨使用func 1.函式名可以像變數一樣進行賦值操作 a fun 2.函式可以作為容器 list,tuple,dict 的元素,儲存在容器內 fun fun 3.函式可以作為返回值返回 4.函式可以作為引數進行傳...
函式名應用,閉包,裝飾器初識
一 函式名的應用 函式名是乙個變數,但他是乙個特殊的變數,與括號配合可以執行函式的變數。1 函式名的記憶體位址 def func print 哈哈 print func 結果 2 函式名可以賦值給其他變數 def func print 哈哈 print func a func 把函式當成乙個變數,賦...
函式裝飾器 類裝飾器
一 函式裝飾函式 defwrapfun func definner a,b print function name func.name r func a,b return r return inner wrapfun defmyadd a,b return a b print myadd 2,3 二...