老师看下下面两个方法对不对以及注释和后面的问题
来源: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回答
同学你好,关于你的问题,回答如下:
1、两个方法都是正确的。
2、在这个使用的时候,匿名函数与普通函数是没有区别的。一个是直接使用了计时器中的匿名函数。一个是声明一个普通函数,然后到计时器中替代匿名函数使用。这里效果是一样的哦。
3、写在脚本后面?是改变内容的后面吗?
如果是的话,这个是没有影响的。先改变num的值,还是先改变text内容都是可以的,没有影响。如果不是指这个的话,可以详细的描述下,或者将同学认为的写法写一下,然后再次提问,便于准确的定位与解决问题。
祝学习愉快~
相似问题