草庐IT

function-call-operator

全部标签

javascript - 如何在 Javascript 中实现 "function timeout"- 而不仅仅是 'setTimeout'

如何实现timeout在Javascript中,不是window.timeout而是类似sessiontimeout或sockettimeout-基本上-“functiontimeout"Aspecifiedperiodoftimethatwillbeallowedtoelapseinasystembeforeaspecifiedeventistotakeplace,unlessanotherspecifiedeventoccursfirst;ineithercase,theperiodisterminatedwheneithereventtakesplace.具体来说,我想要一个ja

javascript - 禁用 "use the function form of use strict"但保留 "Missing ' 使用严格声明“警告

我正在使用jslint来验证我的代码。我的所有页面上都有“严格使用”。如何禁用消息“使用'usestrict'的函数形式”但保留“缺少'usestrict'语句”警告,这样我就不会忘记将它放在新文件上?谢谢 最佳答案 根据Crockford'spost,您需要将所有内容包装在一个函数中...(function(){"usestrict";//therestofyourfilegoeshere...}());你也可以使用jshint相反,它有一个“globalstrict”选项,可以完全按照您的要求进行操作,而无需将所有内容都包装在一

javascript - $(document).ready(function()?

这个问题在这里已经有了答案:document.readyinsidebodytag(2个答案)关闭9年前。我们经常在这里和那里读到,我们必须将我们的js代码放在页面头部或之前(抱歉)结束主体标记。关于这个的讨论放在一边,我只是想知道浏览器对这些东西的阅读顺序是什么(假设他们在这里表现得是平等的):我们可以放置:$(document).ready(function(){无论在页面结构的哪个位置,因为我们正在使用$(document).ready还是应该将它放在head部分?谁能澄清一下。如果我的问题不清楚,我可以重新措辞。

JavaScript 递归 : Maximum call stack size exceeded

我有一个递归函数,可以在Canvas上移动一些圆圈。覆盖的圆圈被放大(放大),所有其他圆圈被推开。插入的圆圈插入其他圆圈等等,直到缩放完成。我收到错误消息“超出最大调用堆栈大小”,我理解这个问题,但我就是不知道如何解决...我找到了解决一般递归问题的三种可能的解决方案:将递归改为迭代使用memoization使用SetTimeout但我认为我不能使用它们中的任何一个:我无法实现迭代,因为所需的操作数未知我不太了解内存,但我认为它也不适合(或者我错了,有人可以告诉我不同​​的说法?)我不能使用SetTimeout,因为它应该在这个特定的动画中阻止函数调用。我该如何解决这个问题?//Pus

javascript - Uncaught Error : NOT_FOUND_ERR: DOM Exception 8 for appendChild call

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:javascriptappendChilddoesn'twork错误发生在这段代码的最后一行:varanchor=""+imagename+"";varspecialdiv=document.getElementById("specialdiv");console.log("div:"+specialdiv);specialdiv.appendChild(anchor);真的没有其他事情发生......我验证了specialdiv不是null或类似的东西。任何人都可以解释为什么我在该行收到此错误吗?

javascript - 为什么我们在 javascript 中有 Function.call?

>Function.call==Function.prototype.calltrue>Function.prototype==Functionfalse为什么Function.prototype.*方法以Function.*的形式存在?似乎不一致。任何其他主要类型都不是这种情况(Array.slice不存在但Array.prototype.slice存在)。 最佳答案 因为Function本身就是Function的原型(prototype)console.log(FunctioninstanceofFunction);consol

javascript - Javascript:Function和Class有什么区别

随着2015年6月ECMAScript6的发布,引入了Javascript类语法。这个语法:classPolygon{constructor(width,height){this.width=width;this.height=height;}}基本上与:functionPolygon(width,height){this.width=width;this.height=height;}那么,使用类而不是传统函数有什么好处?在什么情况下我应该使用类而不是函数? 最佳答案 类和函数之间有一些区别-大多数人会从说类是“只是语法糖”开始,

javascript - 为什么 "foo".toString() 与 toString.call ("foo"不同)?

下面是一个JavaScript问题://TestedviaGoogleChromeconsole.vartoString=Object.prototype.toString;"foo".toString();//"foo"toString.call("foo");//[objectString][].toString();//""toString.call([]);//[objectArray]{}.toString();//syntaxerrortoString.call({});//[objectObject]为什么toString的结果与toString.call()不同?已更新

javascript - function.apply.bind 在以下代码中如何工作?

所以我得到一个[200,599]的数组从promise返回并且spread内的回调函数被传递到Function.apply.bind,但现在我迷路了。[200,599]的数组如何拆分为x和y?apply.bind究竟是如何工作的?functiongetY(x){returnnewPromise(function(resolve,reject){setTimeout(function(){resolve((3*x)-1);},100);});}functionfoo(bar,baz){varx=bar*baz;//returnbothpromisesreturn[Promise.reso

javascript - Chrome 扩展 js : Sharing functions between background. js 和 popup.js

假设我有一个JavaScript函数foo(),我想在后台和popup.html中执行它。例如:它每小时在我的Chrome扩展程序的后台执行一次,但也可以由用户通过单击按钮从弹出菜单(popup.html)激活。我目前有一个定义foo()的global.js脚本,当我在我的中包含对foo()的调用时>popup.js文件,它们可以毫无问题地执行。(如果我在popup.html中包含这两个脚本)但是,当我尝试访问background.js中的foo()时,调用不会执行(即使global.js包含在“后台”“manifest.json”扩展文件中:"background":{"persis