看标题就知道是什么意思了。我们在建站的时候其实用到很多JS库,网上流行的,公司自己封装的。这些东西用处很大,但或多或??少存在一些bug或缺陷。即使它真的很完美,但它也可能无法满足你自己的一些特定需求。所以有问题很正常。但是为什么说新手遇到问题呢?这是因为有些问题,经过几年的攻城狮可以轻松解决,所以对他们来说根本不是问题,或者说对他们来说只是私人定制。其实我也来过这里。如果让我完全封装一个非常强大的JS库,我肯定做不到。不是因为技术,而是因为经验不足,因为要考虑的因素很多。就像ORM,我们会用很成熟的,而不是自己封装。话不多说,下面说说我们在生产环境中遇到的问题如何解决。到时候我这里也想跟大家说一下前提条件,就是获取知识。只有这样,大家才能解决问题。1.获取知识a)JQuery&JS是必须要了解的两个基本的东西。具体可以去http://www.w3school.com.cn学习b)JS面向对象见:http://www.cnblogs.com/gaojun/archive/2013/10/24/3386552。html博主也参考了这本书《JavaScript 高级程序设计》,所以这篇博文讲的面向对象讲的很好,有些我没注意。c)JQuery&JS扩展方法的实现其实大家都遇到过。通过前台脚本,去掉字符串前后,JQuery和JS没有public方法。不知道为什么,说的就是替换字符串。,尽管默认情况下只替换第一个匹配项。这里也有现成的博文供大家阅读JQuery:http://www.cnblogs.com/xcj26/p/3345556.htmlJS:http://www.cnblogs.com/kissdodog/p/3386480.html这两篇文章都不错,尤其是jQuery那篇,让我明白了一些以前不知道的东西。这是一个简短的总结。请读者按照a、b、c的顺序准备知识。其实这是技术的升华。其实这些都不难,只是我们之前没有了解过而已。所以现在我们有必要掌握这些知识,并在以后的工作中加以运用。2.看懂别人JS库里的代码很重要。你连别人的代码都看不懂。修改别人的代码或者扩展别人的代码怎么样?.当时我相信只要大家达到了access知识,看了一些不是很复杂的代码,我相信我不会有太大的问题。所以,掌握基础是关键,虚无缥缈。我们在阅读别人的代码时一定要胆大心细。程序大家都写,JS库也是人写的。别人比我们好,我们还是要按照JS语法来实现,但是我们的写作水平比我们高。就像我们高考作文拿不到满分一样,但并不是说满分的作文我们也看不懂。如果是这样的话,我很着急。3、尝试修改JS库中的代码。终于来了这个链接,但是我要强调的是,不要轻易修改网上流行的代码。下面是修改代码的方法,但是为什么不轻易修改呢?不要混淆,不允许修改,因为这些JS库是由非常专业的团队维护的,代码非常严谨。如果改了可能会影响整个JS库的使用。即使真的是bug或者需要个人定制,也建议重新实现扩展。这样有利于JS库的升级,自己实现的代码可以独立开发。如果真的修改了JS库的代码,请记得记录在文档中。否则升级JS库,你修改的代码就会被覆盖,你的工作就白费了。允许修改库代码是常见的做法,因此请牢记这一点。下面我就以我在工作中遇到的一个例子来给大家解释一下。可以看到右侧有本地保存的提示信息。许多人想删除此消息。官方也提供了关机参数,但是没有提示是达不到我们预期的效果的,但是自动保存的间隔时间设计的很长。时间似乎可以达到预期的效果,但这种方法确实不合理。首先,我们需要找到这个提示的来源。我们从上图可以看出,这其实是一个配置文件。具体怎么用,大家就靠猜了。首先,我们看到这个值对应的键名是success。我知道不好找,但是我们又看到了节点名autosave,我们想都没想,这个节点肯定会出现在代码中。我们就拿这个来搜索一下,看看接下来的两张图。这是我发现最有可能导致提示出现的两段代码。我们可以仔细阅读这两段代码,看看各自的用途。这里有一篇博文:http://www.kissthink.com/archive/--4232.html这里可以让我们知道,第二张图,其实就是为了让自动保存,所以放第一张图。我们找到了这个关键字,你有没有印象,你是在哪里看到这个关键字的,这个在配置文件里面。我们一开始说设置间隔时间已经生效,少了开启自动保存的设置。函数,使得我们搜索的关键字enableAutoSave在整个库中都找不到。这说明根本没有实现这个功能。我们可以在代码中生成它并使用上级。结果如下图所示:综上,这只是为了达到效果。其他地方的代码我没有深究,但是我觉得这个修改应该不会影响到其他地方。我认为不可能修改其他人的代码。困难在于修改不会引起新的有问题的参数。再次强调,不要像我一样轻易修改代码。最好能在代码之外找到实现。版权声明:本文由z-albert原创,发表于博客园。欢迎转载。未经本人同意,不得修改原文内容,必须保留此声明,并在文章页面显着位置给出原文链接,否则将保留追究法律责任的权利。如果您有任何问题,请留言,或通过y442926727@qq.com与我联系,非常感谢。由于本人技术能力和文字能力有限,如有错误或描述不清之处,请批评指正!有意者可加群:144063225参与交流。更多内容请关注博客:http://www.cnblogs.com/z-albert/
