Javascript 返回未定义的setInterval函数
我第一次学习JavaScript中的setInterval,并试图在5秒后显示一个值。我的代码如下:Javascript 返回未定义的setInterval函数,javascript,jquery,Javascript,Jquery,我第一次学习JavaScript中的setInterval,并试图在5秒后显示一个值。我的代码如下: <button onclick="myTest()">Try it</button> <script> function myTest() { const ret = myFunction(); alert(ret); } function myFunction() { let i = 0; const interval =
<button onclick="myTest()">Try it</button>
<script>
function myTest() {
const ret = myFunction();
alert(ret);
}
function myFunction() {
let i = 0;
const interval = setInterval(function(){
i += 1;
if (i === 5) {
clearInterval(interval);
return i;
}
}, 1000);
}
</script>
试试看
函数myTest(){
const ret=myFunction();
警报(ret);
}
函数myFunction(){
设i=0;
const interval=setInterval(函数(){
i+=1;
如果(i==5){
间隔时间;
返回i;
}
}, 1000);
}
我想提醒5,但我得到的是
未定义的。有人知道为什么会这样吗?提前谢谢 在setInterval
调用中,无法从匿名函数返回任何内容。您需要从该函数中写入控制台
。试试这个:
函数myTest(){
//这个函数现在是多余的-您可以直接调用myFunction()
myFunction();
}
函数myFunction(){
设i=0;
const interval=setInterval(函数(){
i+=1;
如果(i==5){
间隔时间;
console.log(i);//这将在5秒后出现。。。
}
}, 1000);
}
myTest()
在setInterval
调用中,无法从匿名函数返回任何内容。您需要从该函数中写入控制台
。试试这个:
函数myTest(){
//这个函数现在是多余的-您可以直接调用myFunction()
myFunction();
}
函数myFunction(){
设i=0;
const interval=setInterval(函数(){
i+=1;
如果(i==5){
间隔时间;
console.log(i);//这将在5秒后出现。。。
}
}, 1000);
}
myTest()代码>
我将返回窗口(我猜),而不是我的函数
默认情况下,myFunction return未定义,因为您没有编写返回
function myTest() {
myFunction(function(val){
alert(val);
});
}
function myFunction(callback) {
let i = 0;
const interval = setInterval(function(){
i += 1;
if (i === 5) {
clearInterval(interval);
if(callback){
callback(i);
}
}
}, 1000);
}
您可以在回调函数中获取值
我将返回窗口(我猜),而不是我的函数
默认情况下,myFunction return未定义,因为您没有编写返回
function myTest() {
myFunction(function(val){
alert(val);
});
}
function myFunction(callback) {
let i = 0;
const interval = setInterval(function(){
i += 1;
if (i === 5) {
clearInterval(interval);
if(callback){
callback(i);
}
}
}, 1000);
}
您可以在回调函数中获取您的值。警报(ret)将在5秒结束前出现,因此我的函数将返回未定义。这样试试
<button onclick="myTest()">Try it</button>
<script>
function myTest() {
myFunction();
}
function myFunction() {
var i = 0;
var interval = setInterval(function(){
i++;
if (i === 5) {
alert(i);
clearInterval(interval);
}
}, 1000);
}
</script>
试试看
函数myTest(){
myFunction();
}
函数myFunction(){
var i=0;
var interval=setInterval(函数(){
i++;
如果(i==5){
警报(一);
间隔时间;
}
}, 1000);
}
警报(ret)将在5秒结束前出现,因此我的函数将返回未定义。这样试试
<button onclick="myTest()">Try it</button>
<script>
function myTest() {
myFunction();
}
function myFunction() {
var i = 0;
var interval = setInterval(function(){
i++;
if (i === 5) {
alert(i);
clearInterval(interval);
}
}, 1000);
}
</script>
试试看
函数myTest(){
myFunction();
}
函数myFunction(){
var i=0;
var interval=setInterval(函数(){
i++;
如果(i==5){
警报(一);
间隔时间;
}
}, 1000);
}
myFunction
实际上不返回任何内容。在setInterval
调用中,您不能从匿名函数返回任何内容。您需要从该函数中写入控制台
,实际上不需要声明ret
和interval
,因为const
myFunction
实际上不返回任何内容。在setInterval
调用中,您不能从匿名函数返回任何内容。您需要从控制台
中写入,从功能上讲,不需要将ret
和interval
声明为const
。好的,是的,成功了!我不知道setInterval函数不会返回。谢谢!这是异步代码的一般规则,不能同步返回值。是的,这很有效!我不知道setInterval函数不会返回。谢谢!这是异步代码的一般规则,不能同步返回值