Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自定义函数(p、a、c、k、e、d)用于什么?_Javascript - Fatal编程技术网

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

Javascript 自定义函数(p、a、c、k、e、d)用于什么?,javascript,Javascript,我看到很多网站的JavaScript代码中都有一些功能(p、a、c、k、e、d)。不同的网站可能有不同的函数体,但它们都使用相同的参数名(p、a、c、k、e、d)。它是一个标准还是一个图书馆还是什么的 其次,这个函数似乎应该在页面加载后立即执行。就像下面网站上的片段一样 你能帮我理解这个代码吗eval()用于计算表达式,如2+3,但下面的代码如何将函数传递给它 try{ eval( function(p,a,c,k,e,d)

我看到很多网站的JavaScript代码中都有一些
功能(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){}

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

您可以通过使用该功能的浏览器对代码进行打包和解包。

因此,如果您使用我在评论中发布的内容,它会将代码“解包”到以下内容中:

(function()
    {
    var b="some sample packed code";
    function something(a)
        {
        alert(a)
    }
    something(b)
}
)();
这似乎不是恶意的。有关为什么使用此选项的软参数,请参见:

包装更小,但速度较慢

甚至更难调试

大多数著名的框架和插件都只是小型化的。
Packer所做的不仅仅是重命名变量和参数,它实际上映射了 使用Base62的源代码必须在客户端上重建 侧边通过eval()以便可用

在这里,回避eval()是一个不好的问题,这也会造成 启动时页面加载期间客户端上的大量开销 打包更大的JS库,比如jQuery。这就是为什么只做缩小 在您的产品上,建议使用JS,因为如果您有足够的代码 需要打包或缩小,您有足够的代码来进行eval() 页面加载期间阻塞客户端。
Minifier只删除不必要的内容,如空白字符 作为一名包装工,他会更进一步,尽其所能来解决问题 最小化javascript的大小。例如,它将变量重命名为 更小的名字


正如我所看到的,
eval(函数(p,a,c,k,e,d){})
用于在用户下载并打开页面时隐藏整个内容。也许这就是特定代码的内部工作原理。

您能补充一下为什么我们要压缩javascript代码、减小大小或使其复杂化以提高其安全性吗?可以用于上述两个原因之一。实际上,更小的脚本文件意味着更快地加载页面资产,有些开发人员喜欢通过模糊处理来保护他们的代码。@InaseCoder压缩JS代码将删除未使用的变量、注释、console.logs(在IE浏览器中是有害的)、减少内存大小(在浏览器中渲染速度更快)。希望你能it@InsaneCoder因此,从本质上说,包装效率较低,但与缩小包装相比,似乎可以实现实际的压缩。还可以看到打包器没有打包-打包代码不会以这种方式解压缩。仅供参考我还没有发现哪个压缩机使用“p,a,c,k,e,d”。。。