javascript变量作用域、计时器、封闭函数

本文介绍了JavaScript中变量的作用域概念,包括全局变量和局部变量的区别,并详细解释了定时器setTimeout与setInterval的使用方法及如何关闭它们。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
变量的作用域

变量作用域指的是变量的作用范围,javascript中的变量分为全局变量和局部变量。

1、全局变量:在函数之外定义的变量,为整个页面公用,函数内部外部都可以访问。

2、局部变量:在函数内部定义的变量,只能在定义该变量的函数内部访问,外部无法访问。

<script type="text/javascript">
    //全局变量
    var a = 12;
    function myalert()
    {
        //局部变量
        var b = 23;
        alert(a);
        alert(b);
    }
    myalert(); //弹出12和23
    alert(a);  //弹出12    
    alert(b);  //出错
</script>

定时器

setTimeout 只执行一次的定时器

clearTimeout 关闭只执行一次的定时器

setInterval 反复执行的定时器

clearInterval 关闭反复执行的定时器

<script type="text/javascript">
function time(){
    console.log('定时器');
    }
    //循环计时器
    times=setInterval('time()',200);//开启循环计时器  没200毫秒执行一次time
    clearInterval(times);//清除定时器,需要将开启计时器的方法用变量接收
    //一次计时器
    times_01=setTimeout('time()',1000);//1000毫秒后只执行一次
    clearTimeout(times_01);//清除定时器,需要将开启计时器的方法用变量接收
</script>

封闭函数(又叫js沙箱)

封闭函数是javascript中匿名函数的另外一种写法,创建一个一开始就执行而不用命名的函数。

(function myalert(){
    alert('hello!');
})();

封闭函数的好处

封闭函数可以创造一个独立的空间,在封闭函数内定义的变量和函数不会影响外部同名的函数和变量,可以避免命名冲突,在页面上引入多个js文件时,用这种方式添加js文件比较安全,

还可以在函数定义前加上“~”和“!”等符号来定义匿名函数;虽然下列函数写有名称,但是通过其他方式调用不到;

<script type="text/javascript">
    !function myfun(){
   	 	alert();
    }();
    ~function myfun_01(){
    	alert();
    }();
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值