草庐IT

延时分配

全部标签

javascript - 为什么不能重新分配函数表达式的名称?

为什么下面的代码片段会抛出错误?"usestrict";(functiona(){console.log(typeofa);//functionconsole.log(a=0);//error})();为什么这个片段没有抛出错误?"usestrict";(function(){functiona(){console.log(a=0);//0}returna;})()();为什么立即返回函数会抛出错误?"usestrict";(function(){returnfunctiona(){console.log(a=0);//error};})()();函数表达式是唯一会发生这种情况的情况吗

javascript - 分配一个新的字符串值会产生需要收集的垃圾吗?

考虑这个javascript代码:vars="Somestring";s="Morestring";垃圾收集器(GC)在这种操作之后是否还有工作要做?(我想知道在尝试最小化GC暂停时是否应该担心分配字符串文字。)e:让我觉得有点好笑的是,虽然我在问题中明确指出我需要尽量减少GC,但每个人都认为我错了。如果真的必须知道特定的细节:我有一个javascript游戏——它在Chrome中运行良好,但在Firefox中有半频繁的暂停,这似乎是由于GC。(我什至检查过Firefox的MemChaser扩展,暂停与垃圾收集完全一致。) 最佳答案

javascript - jQuery/Javascript 分配中的左侧无效

我正在使用这个相对简单的代码:varheight=help?'minus':'plus';varprop=$('#properties');if(height=='minus'){prop.height(prop.height()-=206);}else{prop.height(prop.height()+=206);}它在执行加法/减法的两行上都失败了!有什么想法吗? 最佳答案 -=运算符等于operand=operand-value在您的情况下看起来像prop.height()=prop.height()-206;这显然会失败。

JavaScript:通过原型(prototype)进行属性分配

我很难理解以下两组代码的区别。原码来自thefamousNinjatutorial我为自己简化了一点。问题:我想我了解CodeA的工作原理。Ninja.prototype.swung=false将一个新属性分配给functionNinja(),因此ninjiaA.swung的计算结果为false。但是,在CodeB中,当我们一开始就用this.swung=true声明functionNinja()时,后面赋值的Ninja.prototype.swung=false不会生效,并且ninjaA.swung仍然需要评估为true。我不明白为什么这个后来的分配在CodeB中不起作用。有人可以启

javascript - 分配工作人员任务

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。有关您编写的代码问题的问题必须在问题本身中描述具体问题——并包括重现它的有效代码。见SSCCE.org寻求指导。8年前关闭。Improvethisquestion在模拟中,工作人员必须在map上移动来执行任务。每次模拟'tick',他们可以移动一格。一旦他们与它相邻执行任务需要10个滴答声。任务方block不能通过。有worker的广场不能通过。一个以上的worker可以在一个广场上工作。worker不相互竞争;目标是尽快完成所有任务。补充:理想情况下,该算法应该易于概念化并且易于实现。这不是每个人都

javascript - 重新分配参数变量有什么意义?

我意识到(出于性能原因)做类似...的事情很有用functionAbc(a,b,c){varwindow=window;所以当代码访问window时,并不需要沿着作用域链往上走,最终找到window。document、navigator等也可以这样做...但我正在重写一些MobiScrolljQueryplugin并发现了这个……functionScroller(elm,dw,settings){...varelm=elm;vardw=dw;...重新初始化elm和dw以指向它们的参数变量有什么好处?我读过很多关于访问arguments成本高昂的文章,但从未读过任何关于为什么这可能是好

javascript - ES6 为什么在循环中定义时可以重新分配常量

我正在尝试一些毫无意义的逻辑以更好地理解ES6,并且在定义常量时注意到了一个奇怪的现象。在循环中定义时,似乎可以更改常量赋值:"usestrict";for(consti=0;i这是预期的行为吗?任何人都可以阐明为什么会发生这种情况,循环中的声明是否不同?更新自Statements/constThisdeclarationcreatesaconstantthatcanbeglobalorlocaltothefunctioninwhichitisdeclared.Constantsareblock-scoped. 最佳答案 当您修改“

javascript - JQuery:如何为元素分配字体

是否可以在jQuery中检索元素的指定字体?假设有css:#element{font-family:blahblah,Arial;}在上面的示例中,Arial字体将分配给#element。有没有办法通过JS/JQuery获取该信息?类似于:$('#element').css('font-family');只返回blahblah,Arial; 最佳答案 (function($){$.fn.detectFont=function(){varfonts=$(this).css('font-family').split(",");if(fo

javascript - JavaScript 如何为事件处理程序的 this 分配上下文?

看完相关问题#1,#2我仍然没有找到以下问题的答案:Javascript可以通过以下方式设置上下文(即设置this):bind、call和apply。但是当我编写事件处理程序时:document.getElementById('myInput').onclick=function(){alert(this.value)}谁/什么实际上附加this到对象本身?附言使用jQuery时:$("#myInput").bind(function(){...})是(bind、call或apply)的内部实现所以当我不使用jQuery时,谁在使用它? 最佳答案

javascript - 我们应该在分配事件之前检查元素是否存在吗?

我看到很多人在分配事件之前检查DOM元素是否存在,例如(coffeescript):$->if($("#progressbar").length>0)$("#progressbar").progressbar(value:0)有这个必要吗?如果我们只是添加事件,无论元素是否存在,都会影响性能吗? 最佳答案 jQuery中的每个方法调用都包含在.each函数中,因此通常不需要检查元素是否存在-如果集合为空,则不会迭代被调用函数,它无声地失败。给出的例子就是一个很好的例子,直接调用$('#progressbar').progressba