- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
function init(n) {
console.log(n);
setInterval(init.bind(this, ++n), 1000);
}
// init(0); // Works bad
function init2(n) {
setInterval(function() {
console.log(n++);
}, 1000);
}
init2(0); // Works fine
第一个是递归函数,带有setInterval
。
为什么第一个函数没有像“预期的”那样工作?对于“预期”,我的意思是每 1 秒显示一次 n + 1
听说是因为调用自身,调用越来越多,内存溢出。
这个我注意到了,但是我无法想象这个,谁能给我解释一下更详细的?我的问题是,我认为,当每 1 秒执行一次函数时,我向自己保证会发生这种情况,但没有。调用倍增,不要等待 1000 毫秒。
我对流程的心理印象是:
1 - Call init ()
2 - Show n and then add 1 to n
3 - With a setInterval, execute the init () function only if 1000 ms have
passed.
4- 1 second passed ..
5- We return to step 1
最佳答案
init()
。该函数启动一个每秒触发一次的间隔。init()
开始另一个间隔。init()
。两个函数调用都开始一个新的间隔。现在总共有 4 个间隔。依此类推,直到资源用完。
在 init2()
中,这不会发生,因为间隔不会再次调用该函数,因此只会运行一个间隔。
关于javascript - 为什么显示结果出乎意料?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48526344/
一直在断断续续做一个项目,2个月没碰了,今天回来,报错无法运行。 IEnumerable query = mediaTitleCollection.OfType(); 调试器在此行停止并给出标题中描述
我最近读了一篇 article关于生成变更日志,我想将其集成到 package.json 脚本中。 我用正确的项目名称稍微更改了文章中的脚本,并将输出导出到 CHANGELOG.md "script
我添加了这段代码,现在我得到了一个意想不到的标记";"错误。 代码: var i = 0; var tabs = ""; while(i "+ idArray[i] +" &nbs
@echo off for /f "tokens=1,2 delims=," %%x in (my.csv) do ( if %M% LSS %%x set M=%%x ) echo Max X Va
我正在尝试重命名我的 Room 数据库中的列。我傻傻的用了列名index,想改成id,但是这个迁移函数很头疼: static final Migration MIGRATION_2_3 = new M
我不确定这是否是一个错误。代码编译得很好(没有警告),但是当我输入一个方法时,本地值(NSMutableString)会在调试器中显示以下内容: __NSAutoreleaseFreedObject(
这个问题在这里已经有了答案: Synchronous/Asynchronous behaviour of python Pipes (1 个回答) 关闭4个月前。 我正在做一个从 udp 套接字接收样
我是一名优秀的程序员,十分优秀!