为什么编写JavaScript代码几乎故意难以阅读?

bob*_*988 3 javascript formatting

我一直在一些网站(最初由不同的人开发)进行一些维护工作,我注意到很多这样的JavaScript代码:

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
Run Code Online (Sandbox Code Playgroud)

几分钟的努力可以提高可读性.

function MM_findObj(name)
{
    var doc = document;
    var x;

    if((var p = name.indexOf("?")) > 0 && parent.frames.length != 0)
    {
        doc = parent.frames[name.substring(p + 1)].document;
        name = name.substring(0, p);
    }

    if(!(x = doc[name]) && doc.all)
    {
        x = doc.all[name];
    }

    for (var i = 0; !x && i < doc.forms.length; i++)
    {
        x = doc.forms[i][name];
    }

    for(var i = 0; !x && doc.layers && i < doc.layers.length; i++)
    {
        x = MM_findObj(name, doc.layers[i].document);
    }

    if(!x && doc.getElementById)
    {
        x = doc.getElementById(name);
    }

    return x;
}
Run Code Online (Sandbox Code Playgroud)

我很好奇为什么JavaScript不会以可读的方式编写?我参与过的网站 - 与初始开发没有任何关系 - 浓缩,格式不佳和难以理解的JavaScript绝对是我注意到的趋势.它只是为了减少脚本在页面上占用的空间量,还是仅仅是糟糕的技术?

编辑:要添加到这个问题,为什么单个字符变量名称似乎也是常态?

PS我决不是一个专家,事实上我几乎不会精通JavaScript,所以如果有人也可以解释上面的代码实际上做了什么,那么我将非常感激.

Ern*_*ill 9

有一些非常常用的工具可以使用JavaScript代码并删除不需要的空格并缩短变量名,从而生成这样的代码,或者更糟.它可以节省网络带宽,并且可以通过阅读代码来保持随意的外观(由于默默无闻,安全性非常差).

通常,当人们正在处理代码时,代码看起来并不像这样; 这只是在代码即将发布时完成的.

  • "在站点根目录的某个目录中"?在源代码控制系统和/或内容管理系统中?是. (3认同)