美文网首页
定时器、声明提升、函数表达式、闭包

定时器、声明提升、函数表达式、闭包

作者: 我是江海洋我真的是江海洋 | 来源:发表于2018-09-14 14:32 被阅读0次

一、定时器

//一次性定时器
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>

相关文章

  • 函数表达式

    一、函数声明提升 二、递归 三、闭包(详见闭包)

  • 定时器、声明提升、函数表达式、闭包

    一、定时器 停止一次性定时器:clearTimeout(); 停止永久性定时器的方法:clearInterval(...

  • 定时器、声明提升、函数表达式、闭包

    一、定时器 //一次性定时器setTimeOut(function(){ },1000)停止一次性定时器:clea...

  • day6(12.21)函数表达式

    函数表达式的特征使用函数表达式递归使用闭包定义私有变量 定义函数的方式有两种:函数声明,类似变量声明用var,函数...

  • 第七章 函数表达式

    函数表达式的特征 递归 闭包 函数表达式的特征 定义函数的方式有两种,一种是函数声明,一种是函数表达式。函数声明如...

  • 【JS】17--闭包

    闭包 前置知识:声明函数两种方法: 函数声明,存在函数声明提升,因此可以在函数声明之前调用(不会报错)。 函数表达...

  • 前端基础(问答15)

    keywords: 闭包、定时器。 什么是闭包? 有什么作用 内层函数调用外层函数的变量,该内层函数即为闭包。本质...

  • Swift语法 -- [07 - 闭包]

    在Swift中,可以通过func定义一个函数,也可以通过闭包表达式定义一个函数 1 闭包表达式 闭包表达式 闭包表...

  • Swift 5基础语法要点整理—闭包

    闭包 闭包表达式 在Swift中,可以通过func定义一个函数,也可以通过闭包表达式定义一个函数 闭包表达式的简写...

  • JS的闭包

    1.闭包的概念 闭包函数:声明在一个函数中的函数,叫做闭包函数。闭包:内部函数总是可以访问其所在的外部函数中声明的...

网友评论

      本文标题:定时器、声明提升、函数表达式、闭包

      本文链接:https://www.haomeiwen.com/subject/vqeogftx.html