javascript - 如此神奇的 JavaScript 代码有何用途以及它是如何创建的?

标签 javascript jquery

我是 javascript 的新手,我正在努力理解它。

以下 JavaScript 代码片段来自文件 vishEditor.js项目简介Vish ,整个文件有3万多行,所以我把神奇的部分切成了一个小文件magic-javascript.js .

eval(function(p, a, c, k, e, r) {
e = function(c) {
    return (c < a ? "" : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
};
 .......
}
return p
}("(D($){8($.1s.1v){H}$.1s.6i=$.1s.1v=D(u,w){8(1l.S==0){18(J,'6j 55 6k 1j \"'+1l.4o+'\".');H 1l}8(1l.S>1){H 1l.1W(D(){$(1l).1v(u,w)})}F y=1l,$12=1l[0],56=L;8(y.1q('57')){56=y.1P('3o','4p');y.T('3o',['4q',J])}F z={};z.59=D(o,a,b ......

我有两个问题:

(1) 当我运行项目 vish 时,函数 eval(function(p, a, c,k,e,r){}();被调用了,但我不知道该函数的具体目标,为了测试,我删除了这个函数并重新启动它,它似乎工作正常。我很困惑这个神奇的函数是用来做什么的?

(2) 中有一个以 ("(D($){8($.1s.1v){H}$.1s.6i=$. 开头的非常大的魔法代码here,它的含义是什么以及如何创建这样一个神奇的代码?

欢迎留言!

最佳答案

这是经过缩小和混淆的文件。你不能(或者这样调试非常非常困难)。在这里阅读更多相关信息:

http://www.programmerinterview.com/index.php/javascript/minification-vs-obfuscation/

关于javascript - 如此神奇的 JavaScript 代码有何用途以及它是如何创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29252369/

相关文章:

javascript - 如何使用 JavaScript 将文件上传路径附加到表单?

javascript - jQuery:获取目的地和内容

javascript - 获取数据时显示加载页面 - React Redux

javascript - Vue - 单击按钮提交表单

javascript - 如何在正确的上下文中引用 Knockout.js 对象和对象数组

javascript - 使用 json 文件在 javascript 中显示幻灯片的问题

javascript - 在 JS 函数中返回值

javascript - jquery/ajax 表单提交不起作用

javascript - kendo grid如何按字段值获取行

javascript - 如何在一张 map 上规划多个地点的路线?