Javascript 自定义函数(p、a、c、k、e、d)用于什么?
我看到很多网站的JavaScript代码中都有一些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)
功能(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”。。。