草庐IT

var_available_in_function

全部标签

javascript - 在 JavaScript 中排序 : Should every compare function have a "return 0" statement?

我最近阅读了很多关于在JavaScript中排序的答案,我经常偶然发现一个看起来像这样的比较函数:array.sort(function(a,b){a>b?1:-1;});所以它是一个比较函数,如果a大于b则返回1,如果a小于或等于则返回-1b。如MDN(link)中所述,比较函数也可以返回零,以确保两个项目的相对位置保持不变:IfcompareFunction(a,b)returns0,leaveaandbunchangedwithrespecttoeachother,butsortedwithrespecttoalldifferentelements.所以官方的例子看起来更像这样:

javascript - "new <function>"后面的括号可选吗?

这个问题在这里已经有了答案:Canweomitparentheseswhencreatinganobjectusingthe"new"operator?(6个答案)关闭6年前。我在Chrome控制台中运行了以下一对代码片段,结果相同:test=newfunction(){vara=1;varb=2;varc=3;this.debugBase=function(){console.log(''+a+b+c)};};testdebugBase:function(){console.log(''+a+b+c)}__proto__:Object对比:test2=new(function(){v

javascript - ES6 类 : Unexpected token in script?

我正在复制一个尝试学习ES6的示例,但出现编译错误:Unexpectedtoken(2:5)好像是指count=0;我做错了什么?classCounter{count=0;constructor(){setInterval(function(){this.tick();}.bind(this),1000);}tick(){this.count++;console.log(this.count);}} 最佳答案 在ES2015中,当使用class语法时,您需要在构造函数或其中一个方法中定义实例变量(下一个迭代,ES2016,允许您语法

javascript - JS : "The callee (server [not server application]) is not available and disappeared." accessing window. 开瓶器

在我们的(相当大和旧的)ASP.NET应用程序中,我们使用大量加载到框架、iframe和模式对话框(使用window.showModalDialog)中的页面。我们开始看到上面的错误,我似乎无法在任何地方找到一个合理的解释。弹出窗口拦截器。没有。我们没有运行它们。甚至内置拦截器也不行。可信区域。没有。该应用程序现在在LocalHost上运行,并且在受信任的站点列表中。杂散宇宙射线。可能,但不太可能。这太一致了。我确实最终在somedustytome中找到了隐藏在Microsoft网站上的错误消息关于检索自动化错误消息信息。在其中,他们在谈论Excel,他们说:“在这个例子中,Micro

javascript - jQuery 延迟 : use to delay return of function until async call within function complete + get return value

如何正确使用jQuerydeferreds来延迟函数的返回,直到函数内的异步调用完成+获取返回值?这是我当前的代码:functiongetFields(page){vardff=$.Deferred();result={};$.ajax(//theasynccall{url:page,success:function(data){//workoutvaluesforfield1&field2fromdatahereresult={'field1':field1,'field2':field2};},complete:function(){dff.resolve(result);//my

javascript - JavaScript 构造函数中的 "var"变量会发生什么?

例子:functionFoo(){this.bla=1;varblabla=10;blablabla=100;this.getBlabla=function(){returnblabla;//exposesblablaoutside}}foo=newFoo();原始问题:我知道bla将被分配给Foo的每个实例。blabla会发生什么?新问题:我现在的理解:this.bla=1;//willbecomeanattributeofeveryinstanceofFOO.varblabla=10;//willbecomealocalvariableofFoo(**not**anattribut

javascript - MVC4 Beta 缩小和 bundle : Ordering files and debugging in browser

我已经开始使用MVC4Beta中包含的bundle和缩小。我遇到了一些问题:一方面,如果我使用经典bundle,似乎我必须重命名我的文件以确保它们以正确的顺序bundle。假设我有三个javascript文件:“ants.js”、“bugs.js”、“insects.js”ants.js依赖于bugs.jsbugs.js依赖于insects.js默认bundle似乎按字母顺序bundle它们。为了让它们正确bundle,我必须将它们重命名为:“0.insects.js”、“1.bugs.js”、“2.ants.js”这真的很老套,必须有更简洁的方法。我遇到的下一个问题是调试。我喜欢在我

javascript - 为什么有些js文件以(function() {

很简单,为什么有些js文件(例如Ember或JQuery.js)以(function(){...})();开头? 最佳答案 (function(){/*codehere*/})()形式的代码被称为“立即调用的函数表达式”。它经常用于设置闭包,因此您可以在不污染全局范围的情况下定义变量。由于这个原因,您可以在Ember、jQuery和几乎所有其他“插件”中找到它。污染全局范围通常不是一个好主意,但是对于必须在所有站点上工作的插件,确保它不会意外覆盖站点创建者正在使用的变量尤为重要。当然还有其他用途。例如,它可用于“锚定”一个迭代变量,

javascript - 混淆 error 和 reject in Promise

全部:我是JSPromise的新手,当涉及到Promise链时,有一个混淆,假设我有一个这样的promise链:varp=newPromise(function(res,rej){}).then(function(data){},function(err){}).then(function(data){},function(err){}).catch(function(err){})让我困惑的是:什么时候调用function(err)和什么时候调用catch?如何在then中解决和拒绝?谢谢 最佳答案 使用Promise的公式是:v

javascript - knockout : click & checked bindings in one element

我有一组限制,以及用于启用/禁用限制的复选框。但是复选框不起作用jsFiddlefunctionLimit(start,end){varthat=this;this.start=start;this.end=end;this.label=ko.computed(function(){returnthat.start+'-'+that.end;});}functionViewModel(){varthat=this;this.limits=[newLimit(1,2),newLimit(3,4),newLimit(4,5)];this.activeLimit=ko.observable(