js中修飾器的使用

2022-09-04 07:06:10 字數 1046 閱讀 6725

decorator是 乙個函式,用來修改類的行為,在**編譯時產生作用

一、類修飾

乙個引數

第乙個引數是target,指向類本身

function testable(target)

@testable

class example {}

example.istestable ;   //true

多個引數 --巢狀實現

function testable(istestable)

}@testable(true)

class example()

example.istestable   //true

二、方法修飾

3個引數:target (類的原型物件)、name(修飾的屬性名)、descriptor(該屬性的描述物件)

class example

}function writeable(target, name, descriptor)

修飾器執行順序,由內向外執行

class example

}function logmethod(id) ')

}// evaluated logmethod 1

//evaluated logmethod 2

//excuted log method 2

//excuted log method 1

實際應用:

1、防抖動(採用ts模版)

(1) 定時器

let handle : any

export const debounce = (cb?:function) => ,500)}}

}(2)時間差

var entertime =  0

export const debounce = (cb?: function) => )

return

fn.call(this,...arguments)

總結:以上定義了兩種裝飾器:類裝飾器和方法修飾器,以及他們的一些應用~

python中 修飾器

參考文章 python中 修飾符 示例如下 def test func func test deffun print call fun 上面的 會輸出 call fun 修飾符有點像函式指標,python直譯器發現執行的時候如果碰到 修飾的函式,首先就解析它,找到它對應的函式進行呼叫,並且會把 修飾...

js中for of 的使用和迭代器

for.of是es6中引入的新特性,它主要的作用是 迴圈乙個可迭代的物件。它可以迴圈遍歷,陣列 字串 set物件等等,先來看兩個簡單的例子 遍歷字串 let str hello for item of str 遍歷陣列 let arr 1,2,3,4,5 for arritem of arr 遍歷物...

用修飾器優雅的使用高階元件

一句話概括 接受乙個類作為引數的函式,用來修改類的行為。參考阮一峰老師es6語法介紹 testable class mytestableclass function testable target mytestableclass.istestable true一句話概括 接受乙個元件作為引數,返回乙...