国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - 《ES6標準入門》中關于修飾器的疑問

瀏覽:99日期:2023-04-19 14:33:38

問題描述

修飾器對類的行為的改變,是代碼編譯時發生的,而不是在運行時。這意味著,修飾器能在編譯階段運行代碼。也就是說,修飾器本質就是編譯時執行的函數。

有以下幾個問題:

上面引用中說到:修飾器對類的行為的改變,是代碼編譯時發生的,而不是在運行時,這句中的編譯時、運行時、發生分別是什么意思?

修飾器本質就是編譯時執行的函數,這里的執行和問題一中的發生是一個意思嗎?

修飾器一般用在哪些地方?

書上的解釋看的比較模糊,麻煩大神細細解說,非常感謝!

問題解答

回答1:

編譯時,可以大致理解為,在代碼開始運行之前,JS引擎將代碼轉化成機器可以運行的操作的時候。也就是說,這個過程無法在運行時候加以干涉的,因為它在開始運行之前就已經完成了。

而運行時,則是指你代碼編譯以后機器可以運行的操作開始運行時,也就是你寫的那些東西,從機器操作變成了你能實際在電腦上看到的東西的時候。

至于發生,并沒有特殊含義,就是指這些改變是在JS引擎將代碼轉化為機器操作過程中完成的。

執行和發生,大致可以認為是因和果的關系。改變,一般搭配的動詞是“發生”,函數,一般搭配的詞是“執行”。發生強調的是前后狀態的對比,也就是說,因為發生了某件事,導致之后和之前不同了。而執行則側重過程,執行一個操作,也就是將操作里每個步驟都做一遍,并沒有刻意去注重前后是否有不同。所以,這邊應該是修飾器=編譯時執行的函數,這個函數執行之后導致的結果是類行為有所改變。

既然,上面說了,是對類行為的改變,所以修飾器一般用在類聲明時候對類里面方法和屬性的修飾。

回答2:

說白了,代碼大體分編譯階段和運行階段,你可以理解成編譯階段把代碼解析成一個樹,到了運行階段時,按照編譯形成的樹進行運行。你可以在github上搜索一下core-decorators.js,這個庫就是一個修飾器的實例。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 亚洲午夜在线 | 久爱综合| 69av美女| 久久性妇女精品免费 | 国产成人久久777777 | 欧美偷拍小视频 | 中文字幕免费视频 | 亚洲欧美一区二区三区在线观看 | 国产黄色自拍视频 | 美女张开腿给男生桶下面视频 | 免费看成人片 | 亚洲国产一区二区三区最新 | 欧美级 | 国产一成人精品福利网站 | 国产精品免费观在线 | 国产日韩欧美综合一区二区三区 | 久久韩国 | 在线观看欧美一区 | 国产午夜一级淫片 | 中文字幕亚洲不卡在线亚瑟 | 国产精品无打码在线播放9久 | 久久精品中文字幕不卡一二区 | 亚洲一区二区三区精品国产 | 久久国产视频在线观看 | 悟空影视大全免费高清 | 亚洲天堂网在线观看视频 | 国产在线精品一区二区夜色 | 在线免费看a | 欧美一级视频在线观看 | 美女黄色在线观看 | 欧美日韩一区二区三区四区在线观看 | 精品一区二区在线欧美日韩 | 免费久久精品 | 欧美性色黄大片www 欧美性色黄大片一级毛片视频 | 精品久久久久久综合日本 | 国产一级做a爰片久久毛片男 | 久草免费手机视频 | 欧美成人欧美激情欧美风情 | 色视频在线免费 | 日本aaaa精品免费视频 | 国产下药迷倒白嫩丰满美女j8 |