老师看下下面两个方法对不对以及注释和后面的问题

来源:1-25 编程练习

yarwood

2020-09-15 22:16:47

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title>闪烁的文字</title>

<style type="text/css">

div{

width:200px;

height:200px;

line-height:200px;

border:2px solid gray;

text-align:center;

color:red;

}

</style>

</head>

<body>

<h3>会闪烁的文字</h3>

<div id="text"> </div>

<script type="text/javascript">

var text=document.getElementById("text");

//自定义一个变量,接收记录闪烁值,初始值为0

var num=0;

//设置定时器,每500毫秒执行下一个脚本,num=0和1直接相互转换

setInterval(function(){

if(num==0){

num=1;

text.innerHTML="☆☆☆今日特卖☆☆☆";                }

else{

num=0;

text.innerHTML="★★★今日特卖★★★";

}

},500);


// //方法二

// var text=document.getElementById("text");

// var num=0;

// function textFn(){

//     if(num==0){

//         num=1;

//         text.innerHTML="☆☆☆今日特卖☆☆☆";

//     }

//     else{

//         num=0

//         text.innerHTML = "★★★今日特卖★★★";

//     }

// }

// timer=setInterval(textFn,500);

</script>

</body>

</html>


老师匿名函数和普通函数的区别是什么?我还没搞清楚

if(num==0){

num=1;

text.innerHTML="☆☆☆今日特卖☆☆☆";                }

else{

num=0;

text.innerHTML="★★★今日特卖★★★";

这里的时候num前后顺序好像不影响效果,逻辑上不是先num=0是,显示"☆☆☆今日特卖☆☆☆";在num=1是执行下个定时器,"★★★今日特卖★★★";然后num=0如此循环。所以应该是num=0或者1应该写在脚本后面

写回答

1回答

好帮手慕糖

2020-09-16

同学你好,关于你的问题,回答如下:

1、两个方法都是正确的。

2、在这个使用的时候,匿名函数与普通函数是没有区别的。一个是直接使用了计时器中的匿名函数。一个是声明一个普通函数,然后到计时器中替代匿名函数使用。这里效果是一样的哦。

3、写在脚本后面?是改变内容的后面吗?

如果是的话,这个是没有影响的。先改变num的值,还是先改变text内容都是可以的,没有影响。如果不是指这个的话,可以详细的描述下,或者将同学认为的写法写一下,然后再次提问,便于准确的定位与解决问题。

祝学习愉快~

0

0 学习 · 40143 问题

查看课程