Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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_Javascript_Html - Fatal编程技术网

高效阅读Javascript

高效阅读Javascript,javascript,html,Javascript,Html,我是Javascript的新手。我曾想过下载网站并尝试理解其中的javascript,但令我失望的是,尽管我刚刚用javascript完成了整个web开发过程,但我无法理解随机网站中的一个代码片段。下面是我试图理解的代码片段之一 !function(e){function a(a){for(var t,i,o=a[0],d=a[1],f=a[2],l=0,b=[];l<o.length;l++)i=o[l],Object.prototype.hasOwnProperty.call(n,i)

我是Javascript的新手。我曾想过下载网站并尝试理解其中的javascript,但令我失望的是,尽管我刚刚用javascript完成了整个web开发过程,但我无法理解随机网站中的一个代码片段。下面是我试图理解的代码片段之一

!function(e){function a(a){for(var t,i,o=a[0],d=a[1],f=a[2],l=0,b=[];l<o.length;l++)i=o[l],Object.prototype.hasOwnProperty.call(n,i)&&n[i]&&b.push(n[i][0]),n[i]=0;for(t in d)Object.prototype.hasOwnProperty.call(d,t)&&(e[t]=d[t]);for(s&&s(a);b.length;)b.shift()();return c.push.apply(c,f||[]),r()}function r(){for(var e,a=0;a<c.length;a++){for(var r=c[a],t=!0,i=1;i<r.length;i++){var d=r[i];0!==n[d]&&(t=!1)}t&&(c.splice(a--,1),e=o(o.s=r[0]))}return e}var t={},i={194:0},n={194:0},c=[];function o(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,expo;rts:{}};return e[a].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.e=function(e){var a=[];i[e]?a.push(i[e]):0!==i[e]&&{1:1,2:1,4:1,5:1,6:1,7:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,16:1,17:1,18:1,19:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,34:1,35:1,36:1,37:1,38:1,39:1,40:1,41:1,42:1,43:1,44:1,45:1,46:1,47:1,48:1,49:1,50:1,51:1,52:1,53:1,54:1,55:1,56:1,57:1,58:1,59:1,61:1,62:1,63:1,64:1,65:1,66:1,67:1,68:1,69:1,70:1,71:1,72:1,74:1,75:1,76:1,77:1,78:1,79:1,80:1,81:1,82:1,83:1,84:1,85:1,86:1,87:1,88:1,89:1,90:1,91:1,92:1,93:1,94:1,95:1,96:1,97:1,98:1,99:1,100:1,101:1,102:1,103:1,104:1,105:1,106:1,107:1,108:1,109:1,110:1,111:1,112:1,113:1,114:1,115:1,116:1,117:1,118:1,119:1,120:1,121:1,122:1,123:1,124:1,125:1,126:1,127:1,129:1,130:1,131:1,132:1,133:1,134:1,135:1,136:1,138:1,139:1,140:1,141:1,142:1,143:1,144:1,145:1,146:1,147:1,148:1,149:1,150:1,151:1,152:1,153:1,154:1,155:1,156:1,157:1,158:1,159:1,160:1,161:1,162:1,163:1,164:1,165:1,166:1,167:1,168:1,169:1,170:1,171:1,172:1,173:1,174:1,175:1,176:1,177:1,178:1,179:1,180:1,181:1,182:1,183:1,187:1,188:1,189:1,190:1,195:1,203:1}[e]

我的问题是:为什么即使我知道基本的Javascript,我也不能理解代码?

您发布的代码似乎是

最初的开发人员可能编写了或多或少可读的JavaScript代码,但当他们将其放到网上时,他们会通过一个小型程序运行代码,该程序会删除所有注释和不必要的空格,并用单个字母替换所有名称

这样做的通常原因是通过减少javascript文件的大小,使javascript解释器稍微容易一些,而不是让人解析代码,从而缩短网站的加载时间


如果您想让缩小的JS代码至少有一点意义,那么可以通过javascript美化器来运行它。您仍然无法获得有意义的名称,但它将添加换行符和缩进,这至少允许您遵循代码的结构。

您发布的代码似乎是

最初的开发人员可能编写了或多或少可读的JavaScript代码,但当他们将其放到网上时,他们会通过一个小型程序运行代码,该程序会删除所有注释和不必要的空格,并用单个字母替换所有名称

这样做的通常原因是通过减少javascript文件的大小,使javascript解释器稍微容易一些,而不是让人解析代码,从而缩短网站的加载时间


如果您想让缩小的JS代码至少有一点意义,那么可以通过javascript美化器来运行它。您仍然无法获得有意义的名称,但它将添加换行符和缩进,这至少允许您遵循代码的结构。

您应该使用类似的方法使这些代码段可读

另外,你会学到更多的东西,你自己做一些事情,这是一个更好的方法来提高


阅读其他人的代码不是一件小事,尤其是如果代码没有文档记录,并且var/函数命名没有意义,就像您发布的代码中那样,您应该使用类似的方法使这些代码片段可读

另外,你会学到更多的东西,你自己做一些事情,这是一个更好的方法来提高


阅读其他人的代码不是一件小事,尤其是如果代码没有文档记录,并且var/函数命名没有意义,就像您发布的代码一样

大多数网页使用缩小和模糊处理来阻止人们理解他们的代码。美化器不会真正起作用,因为变量和函数名也会更改


如果你想看到真实世界的JS,我建议你去Github看看一些项目。

大多数网页都使用缩小和模糊处理来阻止人们理解他们的代码。美化器不会真正起作用,因为变量和函数名也会更改


如果你想看一些真实世界的JS,我建议你去Github看看一些项目。

顺便说一句,Chromium浏览器的开发工具内置了JS pretty打印机。当你在开发工具中查看缩小的代码时,它会自动询问你是否想要美化它。顺便说一下,Chromium浏览器的开发工具内置了JS pretty打印机。当您在开发工具中查看缩小的代码时,它会自动询问您是否想要美化缩小的代码。+1用于推荐GitHub,但阻止人们阅读您的代码通常是次要问题,或者根本不关心。它无论如何都不起作用,因为一个漂亮的程序和一点手动搜索和替换可以使代码再次可读。主要原因通常是为了缩短加载时间和降低流量成本。推荐GitHub需要+1,但防止人们阅读您的代码通常是次要问题,或者根本不需要考虑。它无论如何都不起作用,因为一个漂亮的程序和一点手动搜索和替换可以使代码再次可读。主要原因通常是为了缩短装载时间和降低交通成本。