一、定时器
//一次性定时器
setTimeOut(function(){
//1秒后执行
},1000)
停止一次性定时器:clearTimeout();
//永久性定时器
setInterval(function(){
//1秒后执行,并且每隔一秒执行一次
},1000)
停止永久性定时器的方法:clearInterval();
案例:
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<button class='btn1'>停止一次性定时器</button>
<button class='btn2'>停止永久性定时器</button>
<script>
var btn1=document.querySelector('.btn1');
var timer=setTimeout(function(){
console.log('hello.js');
},3000)
btn1.onclick=function(){
clearTimeout(timer);
}
var btn2=document.querySelector('.btn2');
var timers=setInterval(function(){
console.log('hello world');
},1000)
btn2.onclick=function(){
clearInterval(timers);
}
</script>
</body>
</html>
二、声明提升
代码:
<script>
fn();
function fn(){
console.log('hello world');
}
fn();
foo()//报错
var foo=function(){
console.log('hello world');
}
fo();
</script>
三:函数表达式
函数的声明可以把函数的调用放在任何位置都可以执行
五、闭包
(1)闭包是依赖于函数的,因为函数是js中唯一拥有自身作用域的结构
(2)两个单独的函数,分别都有自己的作用域,并且只能访问自己作用域中的变量,而无法访问其他作用域中的变量
(3)如果想要两个函数访问其他函数作用域中的变量,这时候就需要函数的嵌套。这时候就会形成闭包
(4) 闭包:闭包是指有权访问另一个函数作用域中的变量的函数,当函数嵌套的时候,我们可以叫内部函数为闭包
案例:
(1)js部分
<script>
function fn1(){
var a=3;
console.log(a); //3
function fn2(){
var b=5;
console.log(a); //3
console.log(b); //5
return b;
}
console.log(fn2()); //5
}
fn1();
</script>
网友评论