gpt4 book ai didi

javascript - 对成功网站的 JS 非常失望

转载 作者:行者123 更新时间:2023-11-28 11:32:35 25 4
gpt4 key购买 nike

我学习网络开发已经大约一年了。然后我开始应用我在网站上学到的东西(我还没有完成)。不幸的是,当我保存一些成功网站(如 Amazon、facebook 等)的 JS 和 Html 文件时,我对编写 JS 的完全不同的方法感到震惊。很难阅读和理解。问题:

  1. 为什么他们在大部分 JS 中使用 OOP。我了解到,只有在某些情况下才需要 OOP,但是大多数专业网站在其 JS 文件中几乎所有地方都使用 oop?
  2. 为什么他们从不给对象和函数起有意义的名称?
  3. 看起来他们正在以最难的方式编写 JS。我对吗?但为什么呢?
  4. 这是否意味着为了制作一个成功的网站,JS 必须以同样复杂的方式编写???

我实际上已经了解了有关 JS 的所有知识,并且非常清楚由于 DOM 使用不当而导致的性能问题。但这些 JS 文件确实让我厌烦了。以下是一些镜头:

Array)for(var c=0;c<a[b].length;c++)a[b][c]();a[b]=!0},add:function(b,c){for(var e=1,f=function(){--e<=0&&g(c)},h=b.length;h--;)a[b[h]]!==!0&&((a[b[h]]=a[b[h]]||[]).push(f),e++);f()}}},m=function(a){a=a||{};this.context=a.context||d;this.once=a.once||!1;this.async=a.async||!1;this.observers=[];this.notifyCount=0;this.notifyArgs=[]};m.prototype={notify:function(){this.notifyCount++;if(!(this.once&&this.notifyCount>1)){this.notifyArgs=[].slice.call(arguments);for(var a=0;a<this.observers.length;a++)this._run(this.observers[a])}},
observe:function(a){if(e(a))if(this.once&&this.isNotified())this._run(a);else return this.observers.push(a),this.observers.length-1},remove:function(a){return a>-1&&a<this.observers.length?(this.observers[a]=function(){},!0):!1},boundObserve:function(){var a=this;return function(){a.observe.apply(a,arguments)}},isNotified:function(){return this.notifyCount>0},_run:function(a){var b=this.notifyArgs,c=this.context;this.async?g(function(){a.apply(c,b)}):a.apply(c,b)}};var p=function(){var a={},b=0,k=
{},o=n(),p={},i=function(a){this.data={name:"nav:"+b++,group:"rcx-nav",value:null,result:null,immediate:!0,process:!1,override:!1,resolved:!1,watched:!1,context:k,when:[],iff:[],filter:[],observe:[],stats:{defined:c(),resolved:-1,buildStarted:-1,buildCompleted:-1,callCount:0,executionTime:0}};for(var e in a)a.hasOwnProperty(e)&&(this.data[e]=a[e]);if(this.data.name.indexOf("]")>-1&&(a=this.data.name.split("]"),a.length===2&&a[0].length>1&&a[1].length>0))this.data.name=a[1],this.data.group=a[0].replace("[",
"")};i.prototype={getDependencyNames:function(){for(var a=[].concat(this.data.when,this.data.filter)

您可以从任何网站下载此类文件。我真的很想看到有关这个现实生活问题的任何解释。提前非常感谢

最佳答案

也许你应该看看 https://github.com/mishoo/UglifyJS

并了解 JavaScript 压缩。

这样的丑化是为了提高性能,而且是通过工具完成的,当然我们不会这样写JS。

也许您需要阅读更多有关 javascript 编程的内容:

干杯

关于javascript - 对成功网站的 JS 非常失望,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36762906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com