如何在javascript中查看eval()内容的等效代码

时间:2014-04-25 07:08:24

标签: javascript

我看到一个代码驻留在.js文件中的eval()函数中。

eval(((function(a,c,e,k,p,r){
e=function(c){return(c<a?'':e(parseInt(c/a)))+     
((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};
if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);
k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};
while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('A i=["\\j\\J\\k\\j\\q\\u","\\o\\q\\u\\j\\J\\1h\\E","\\p\\j\\q\\L\\k\\I","\\L\\j\\k\\1A\\q\\o\\G\\B\\j\\1z\\u","\\l\\k\\k\\l\\z\\I","\\l\\u\\u\\U\\N\\j\\q\\k\\1c\\o\\n\\k\\j\\q\\j\\t","\\l\\k\\k\\l\\z\\I\\U\\N\\j\\q\\k","\\m\\q","\\u\\j\\k\\l\\z\\I","\\t\\j\\C\\m\\N\\j\\U\\N\\j\\q\\k\\1c\\o\\n\\k\\j\\q\\j\\t","\\u\\j\\k\\l\\z\\I\\U\\N\\j\\q\\k","\\v\\t\\j\\N\\j\\q\\k\\2q\\j\\E\\l\\B\\p\\k","\\t\\j\\k\\B\\t\\q\\7T\\l\\p\\B\\j","\\o\\q\\n\\j\\t\\k\\1k\\j\\E\\m\\t\\j","\\v\\l\\t\\j\\q\\k\\1s\\m\\u\\j","\\t\\j\\C\\m\\N\\j","\\t\\j\\C\\m\\N\\j\\O\\I\\o\\p\\u","\\z\\m\\q\\k\\l\\o\\q\\n","\\z\\m\\C\\v\\l\\t\\j\\2q\\m\\z\\B\\C\\j\\q\\k\\1L\\m\\n\\o\\k\\o\\m\\q","\\k\\m\\U\\p\\j\\C\\j\\q\\k","\\u\\o\\N","\\z\\t\\j\\l\\k\\j\\U\\p\\j\\C\\j\\q\\k","\\o\\q\\q\\j\\t\\1n\\X\\1y\\1c","\\E\\o\\t\\n\\k\\O\\I\\o\\p\\u","\\z\\n\\n","\\m\\v\\l\\z\\o\\k\\P","\\n\\k\\P\\p\\j","\\n\\k\\t\\o\\q\\L","\\E\\o\\p\\k\\j\\t\\n","\\B\\q\\u\\j\\E\\o\\q\\j\\u","\\E\\o\\p\\k\\j\\t","\\l\\p\\v\\I\\l\\1S\\m\\v\\l\\z\\o\\k\\P\\Z","\\t\\m\\B\\q\\u","\\2n","\\I\\l\\n\\O\\p\\l\\n\\n","\\1S\\6L\\4M\\w\\2n"
...

该文件有更多行。这种sytnax用于隐藏其他用户的东西。我想知道是否可以看到代码的简单语法。我的意思是,如果没有eval()使用该代码编写代码会是什么?

例如:

var num1 = 2;
var num2 = 12;

eval()表达式:

var res = eval("x+y") //which results 14

普通javascript

var res = x + y; // 14

2 个答案:

答案 0 :(得分:2)

eval替换为console.log,您将在控制台中看到由其创建的代码

答案 1 :(得分:0)

eval()内的代码与http://jsbeautifier.org/

之类的内容相提并论