草庐IT

避免全表扫描

全部标签

javascript - 如何避免在 Javascript 原型(prototype)中使用 "this"

这是我的javascript对象,我想知道如何避免在原型(prototype)中多次使用“this”。我知道有很多关于原型(prototype)继承的理论和链接,这可能已经得到了解答,但由于我无法达到所有目的,我认为这可能值得另一个问题。functionshape(smth){this.a=smththis.b=2this.c=3}shape.prototype.doCalculus=function(){returnthis.a*this.b+this.c-(2*(this.b+this.c)+this.a);}module.exports=shape 最

javascript - 避免带有 promise 的嵌套回调

我对使用PromiseAPI还是个新手,我正在努力避免深度嵌套的Promise链,据我所知,这是使用Promise的好处之一。以下面的伪代码为例,当后续的Promise依赖于先前的context时,如何避免嵌套Promise?functionloadDependency1(){//returnapromsisetoloadthefirstdependency}functionloadDependency2(dependency1){//returnapromisetoloadtheseconddependency,whichreliesonthefirstdependency}func

避免缓存的Javascript版本控制,这些做法的区别?

如果我决定使用javascript或css文件的last_modified_time,并使用它的unix时间戳作为名称中的键,以便在修改文件时清除缓存。以下两种做法有什么区别?文件名是:my_script.js,时间戳是:13219518171/文件包含为:因此,查询字符串参数在每次v时都会创建一个新的缓存。被改变了。2/文件被包含为:文件名随每次修改而变化,重写规则删除时间戳并将请求的url指向my_script.js3/更新:基于以下答案的另一种方法:文件已重命名并包含为:文件名已更改且未使用重写规则。问题:这两种技术本质上是否相同,或者使用查询字符串参数而不是直接文件名有什么优点

javascript - 如何避免 JQuery 和 Prototype 之间的冲突

如果一个页面同时具有JQuery和Prototype,那么我就会发生冲突。有一个选项可以为JQuery禁用$符号,因此没有冲突,但是我必须使用关键字JQuery而不是$。我想知道Prototype有没有办法解决这个冲突。有没有什么方法可以同时使用这两个库而不影响它们的优势或短关键字?据我所知,为同一个页面使用多个JS库不是一个好主意;但有时它可能会有所帮助。 最佳答案 使用noConflictjQuery的方法并将其分配给一个新的(短)变量。在jQuery中使用$的地方使用新变量。var$j=jQuery.noConflict();

javascript - 在队列中预加载 mp3 文件以避免在播放队列中的下一个文件时出现任何延迟

我正在编写一个脚本,我正在播放多个mp3并且每个文件都在队列中。播放下一个.mp3文件时会有轻微延迟,因为缓冲/加载文件需要时间。我如何缓冲队列中的下一个.mp3文件,以便所有文件顺利运行而没有任何延迟。getData(1);functiongetData(id){//Emtydiv$("#surah-wrapper").empty();$.ajaxSetup({cache:true,jsonpCallback:'quranData'});//defineajaxsetup//QuranTextTypequran-uthmani|quran-simple|quran-simple-cl

javascript - 使用 AngularJS "copy()"来避免引用问题

我正在显示一个项目列表,每个项目旁边都有一个“编辑”按钮。点击打开一个Angularui模式窗口,用户可以更改特定项目的一些属性。现在,让我烦恼的是,当在此编辑窗口中键入时,项目列表中的特定项目会立即反射(reflect)出更改。我只希望它在用户单击模式中的“确定”时更新,如果用户选择“取消”则根本不更改。我的解决方法是使用copy制作一个,好吧,所选项目的副本,然后用作View的模型:varmodalInstance=$modal.open({templateUrl:'scripts/app/views/editBond.html',controller:function($scop

javascript - jQuery 和 "this"管理?如何避免变量冲突?

当您编写复杂的jQuery/javascript时,如何在不重新定义之前定义的this变量的情况下使用this?在命名您的this变量(随着嵌套越来越深)时,您是否有经验法则或个人偏好?有时我希望更高范围的变量可用于嵌套函数/回调,但有时我希望有一个干净的平板/范围;有没有一种不用担心变量冲突而调用函数/回调的好方法?如果是,您使用什么技术?一些super愚蠢的测试代码:$(document).ready(function(){console.warn('start');var$this=$(this),$dog=$('#dog'),billy=function(){console.l

javascript - Angular 避免控制台跟踪 $http 错误

这个问题在这里已经有了答案:SuppressChrome'Failedtoloadresource'messagesinconsole(2个答案)关闭5年前。在我的应用程序中,我使用RESTapi来获取我的数据。如果发送这样的请求$http.get('api/entity/'+$scope.entityId).success(/*DOSTUFF*/).error(/*DOSTUFF*/)在服务中,如果entityId不存在,我将返回404。在错误函数中,我使用状态(第二个参数)捕获它并以适当的方式对其进行操作。我对angularif抛出异常并污染javascript控制台这一事实感到恼

javascript - 避免直接修改 prop,因为值会被覆盖

我在升级到Vue2.0时遇到了一个很常见的问题我收到警告:Avoidmutatingapropdirectlysincethevaluewillbeoverwrittenwhenevertheparentcomponentre-renders.Instead,useadataorcomputedpropertybasedontheprop'svalue.Propbeingmutated:"username"(foundinthecomponent)我看了很多次文档,但我仍然不明白如何修复它。username和password在主Vue应用程序中声明。这是我的代码:varGuestMen

javascript - 为 Internet Explorer 编写 JavaScript 代码时要避免哪些常见错误?

我即将开始编写一个新的、大量使用javascript的网站,但在我开始之前,我想通过事先了解这些怪癖是什么来最大程度地减少我在InternetExplorer中的调试时间。我不打算太担心IE6。在其他浏览器中运行良好但在InternetExplorer中中断的javascript代码应避免哪些常见错误/差异? 最佳答案 如果您直接通过javascript分配事件处理程序,事件将不会自动提供。myElement.onclick=function(e){alert(typeofe);//undefined}解决方法是拉取window.e