据我所知,这两个javascript的行为方式相同:
选项A:
function myTimeoutFunction()
{
doStuff();
setTimeout(myTimeoutFunction, 1000);
}
myTimeoutFunction();
Run Code Online (Sandbox Code Playgroud)
选项B:
function myTimeoutFunction()
{
doStuff();
}
myTimeoutFunction();
setInterval(myTimeoutFunction, 1000);
Run Code Online (Sandbox Code Playgroud)
使用setTimeout和setInterval有什么区别吗?
我有一个应用程序,我需要动态设置元素的高度(让我们说"app-content").它需要应用程序的"chrome"的高度并减去它,然后将"app-content"的高度设置为在这些约束内适合100%.这对于vanilla JS,jQuery或Backbone视图来说非常简单,但是我很难弄清楚在React中执行此操作的正确流程是什么?
下面是一个示例组件.我希望能够设置app-content的高度是窗口减去的尺寸为100%ActionBar和BalanceBar,但我怎么知道当一切都变得和我在哪里会把计算的东西,在这个阵营类?
/** @jsx React.DOM */
var List = require('../list');
var ActionBar = require('../action-bar');
var BalanceBar = require('../balance-bar');
var Sidebar = require('../sidebar');
var AppBase = React.createClass({
render: function () {
return (
<div className="wrapper">
<Sidebar />
<div className="inner-wrapper">
<ActionBar title="Title Here" />
<BalanceBar balance={balance} />
<div className="app-content">
<List items={items} />
</div>
</div>
</div>
);
}
});
module.exports = AppBase;
Run Code Online (Sandbox Code Playgroud) 关于setTimeout工作方式,我有点困惑.我试图setTimeout在一个循环中,所以循环迭代,例如,相隔1秒.每个循环迭代发出一个HTTP请求,看起来另一端的服务器无法在如此短的时间内处理那么多请求.
for (var i = 1; i<=2000 && ok; i++) {
var options = {
host:'www.host.com',
path:'/path/'+i
};
setTimeout(makeRequest(options, i), 1000);
};
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用,我怎样才能做到这一点?
谢谢
当调试器在d中触发时,下面的代码有一个新的callstack(这里是 jsfiddle )
function c() {
setTimeout( d, 1000 );
}
function d() {
debugger;
}
c();
Run Code Online (Sandbox Code Playgroud)
如果我们修改使用setTimeout( d(), 1000 );哪个代码括号(括号:)
function c() {
setTimeout( d(), 1000 );
}
function d() {
debugger;
}
c();
Run Code Online (Sandbox Code Playgroud)
那么callstack有c()和d()(这里是 jsfiddle ).为什么?
当用户开始滚动滚动条时,我有一个页面开始自动滚动.但我希望滚动在一段时间后停止.以下是我到目前为止但它没有工作.我不认为"回归"; 是我应该使用的正确功能,但我找不到任何有用的功能.
function scrollFunction() {
window.scrollBy(0, 10);
}
window.onscroll = scrollFunction;
setTimeout(function scrollFunction() {
return;
}, 2000);Run Code Online (Sandbox Code Playgroud)
<div style="height:1000px; background-color:red;"></div>
<div style="height:1000px; background-color:green;"></div>
<div style="height:1000px; background-color:blue;"></div>
<div style="height:1000px; background-color:black;"></div>Run Code Online (Sandbox Code Playgroud)
javascript ×5
settimeout ×2
asynchronous ×1
callstack ×1
html ×1
node.js ×1
reactjs ×1
setinterval ×1