国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js 奇葩技巧之隱藏代碼

2024-05-06 15:13:10
字體:
來源:轉載
供稿:網友

昨天在群看到有人發了個文章叫《“短”化你的代碼》,思路非常不錯,采用unicode的零寬字符來實現字符隱藏,雖然有字符,可是你卻看不見它。
這篇文章詳細的介紹了這種方法的實現原理,最后還給出了一個生成工具。

當然,作者算了留了一個小小的練習給我們,因為他只用了兩個字符,導致轉換后的數據是原始數據的 8倍。
他給我們提供了4個零寬字符,我們就可以縮小至4倍。

好了,我們來看下代碼吧。

(function(window) { var rep = { // 替換用的數據,使用了4個零寬字符,數據量減少了一半。  '00': '/u200b',  '01': '/u200c',  '10': '/u200d',  '11': '/uFEFF' }; function hide(str) {  str = str.replace(/[^/x00-/xff]/g, function(a) { // 轉碼 Latin-1 編碼以外的字符。   return escape(a).replace('%', '//');  });  str = str.replace(/[/s/S]/g, function(a) { // 處理二進制數據并且進行數據替換   a = a.charCodeAt().toString(2);   a = a.length < 8 ? Array(9 - a.length).join('0') + a : a;   return a.replace(/../g, function(a) {    return rep[a];   });  });  return str; } var tpl = '("@code".replace(/.{4}/g,function(a){var rep={"/u200b":"00","/u200c":"01","/u200d":"10","/uFEFF":"11"};return String.fromCharCode(parseInt(a.replace(/./g, function(a) {return rep[a]}),2))}))'; window.hider = function(code, type) {  var str = hide(code); // 生成零寬字符串  str = tpl.replace('@code', str); // 生成模版  if (type === 'eval') {   str = 'eval' + str;  } else {   str = 'Function' + str + '()';  }  return str; }})(window);

大家可以通過最簡單的代碼例子進行測試一下,看看效果如何,也可以進一步優化,或者寫成插件什么的,就當練習吧。。
雖然這個東西沒什么實際用處,不過有時候玩玩還是不錯的,可出面試題嚇唬新人哦。。

以上就是小編為大家整理的js 奇葩技巧之隱藏代碼,希望對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 万州区| 仪征市| 台州市| 天门市| 古交市| 临邑县| 遂平县| 东光县| 康平县| 邯郸市| 宜兰县| 双流县| 克山县| 罗甸县| 平度市| 樟树市| 息烽县| 左权县| 莲花县| 封丘县| 梓潼县| 南康市| 上饶县| 如皋市| 安图县| 南木林县| 乡宁县| 尼勒克县| 波密县| 九台市| 澄江县| 洛阳市| 盐山县| 武夷山市| 巴林右旗| 将乐县| 许昌市| 仙居县| 普洱| 东乡| 五华县|