草庐IT

不可避免

全部标签

javascript - 使用 .bind() 避免 .call() 和 .apply()

我正在寻找一种方法来完成某项任务,那就是从jQuery.when.apply(null,promiseArray).done(...)到when(promiseArray).done(...)您可能知道,.bind()可以用来创建类似默认参数的东西,也可以做一些非常漂亮的事情。例如,而不是总是调用vartoStr=Object.prototype.toString;//...toStr.call([])//[objectArray]我们可以这样做vartoStr=Function.prototype.call.bind(Object.prototype.toString);toStr(

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 文件或使其不可读?

我的应用程序中有包含JavaScript和jQuery函数的JavaScript脚本。与我的应用程序的所有用户交互都是动态的,并且通过jQuery传递给应用程序。我意识到,当我运行我的应用程序时,在客户端,客户端可以通过查看页面源代码(Ctrl+U)来查看我的所有源代码。我怎样才能隐藏或做一些让用户无法理解或阅读源代码的事情?我想做一些像Facebook所做的事情。通过查看Facebook源代码,用户无法重用其源代码,甚至无法理解它。我搜索了一下,发现这个过程叫做混淆,但这对我不起作用。我试过这个:http://www.javascriptobfuscator.com/default.

避免缓存的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控制台这一事实感到恼