一般情況下,在JS中定義變量,是使用var、let、const。
比如:var abc =1;
但如果你不希望別人看到你定義了一個變量abc,該怎么辦呢?
可以這樣寫:this["abc"]=1;
這樣便也定義了一個變量abc。
啊?能這么寫嗎?能!不信?測試運行一下就知道了。
但這還是看到了abc字符串,也看到了賦值的內容是數字1。有沒有辦法更隱藏一些呢?
有,還可以用JShaman對這一行代碼進行混淆。
混淆之后,this["abc"]=1;會變成:
this["\u0061\u0062\u0063\u0064"]=0x3ba17^0x3ba16;
這時,如果進行console.log(abc)或alert(abc),會看到變量abc的值1被輸出了。
但在這行代碼中,一眼看去,即不存在變量abc,也沒有數值1。
是不是很有意思呢?
這樣的JS編程技巧,你學會了嗎?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.