自定义函数(p,a,c,k,e,d)用于什么?

时间:2014-01-29 06:09:35

标签: javascript

我看过很多网站的javascript代码都有function (p,a,c,k,e,d)。不同的网站可能有不同的功能,但为什么他们都使用这个参数名称(p,a,c,k,e,d)?我的意思是它是一个标准或什么或图书馆,他们遵循相同的惯例。

其次,看起来这个函数应该在页面加载后立即执行。就像网站上的以下片段一样。

你能帮助我理解这段代码:eval()用于评估像2+3这样的表达式,但下面的代码是如何将函数传递给它的?

try{
        eval(
            function(p,a,c,k,e,d)
                {
                  //some code goes here
                }
    }catch(err){}

这个问题可能听起来很愚蠢,但我认真地想要理解function(p,a,c,k,e,d)的奥秘,所以不要贬低。

3 个答案:

答案 0 :(得分:23)

因此,如果您在评论中使用http://matthewfl.com/unPacker.html,则会将代码“解包”到此处:

(function()
    {
    var b="some sample packed code";
    function something(a)
        {
        alert(a)
    }
    something(b)
}
)();

它似乎并不是恶意的。有关使用此内容的简要论据,请参阅javascript packer versus minifier

  

包装较小但速度较慢。

     

甚至更难调试。

     

大多数众所周知的框架和插件都只是缩小了。   

<小时/>   Packer做的更多,然后重命名变量和参数,它实际上映射   使用Base62的源代码,然后必须在客户端上重建   通过eval(),以便可以使用。

     

侧面踩eval()是这里的邪恶问题,这也可以创建一个   启动时页面加载期间客户端上的大量开销   包装更大的JS库,比如jQuery。这就是为什么只做缩小   关于你的生产JS是值得推荐的,因为如果你有足够的代码   需要打包或缩小,你有足够的代码来使eval()   在页面加载期间阻塞客户端。   

<小时/>   Minifier只删除不必要的东西,如空格字符   Packer更进一步,做任何可以做的事情   最小化javascript的大小。例如,它将变量重命名为   较小的名字。

答案 1 :(得分:3)

它是一个解压缩/混淆的javascript代码的函数。许多JS库和脚本都使用它。

online tools您可以通过浏览器打包和解包代码,使用该功能。

答案 2 :(得分:1)

正如我所见,http://www.indiabix.com中使用了eval(function(p,a,c,k,e,d){}),当用户下载页面并打开它时,{{1}}使用它来隐藏整个内容。也许这是特定代码的内部工作原理。