js函数和变量的提升及闭包讲解

本文主要和大家分享两个重要的知识点,函数和变量的提升和闭包的原理用法详解,希望能帮助到大家。

函数和变量的提升

原理:就是函数及变量的声明都将被提升到函数的最顶部。
结果:变量和函数都支持先试用后声明
案例:

//变量提升x = 5; // 变量 x 设置为 5alert(x);var x; // 声明 x//函数提升print(5); //调用函数function print(y) { //声明函数    return y * y;}

登录后复制

闭包

原理:在函数内嵌套另一个函数(另一个函数则为闭包)
结果:

在js中没有静态变量,可以将函数内声明的局部变量作为局部变量

怎么保证局部变量只被调用一次,可以通过变量赋值的方式,也就是首次调用最外层函数,后面都调用闭包

可以防止其他函数对其进行修改(其他函数可任意对全局变量进行修改)

案例:

function count() {    var counter = 0;        return function ()     {return counter += 1;}}var add= count();add();add();//值为二

登录后复制

相关推荐:

JavaScript中如何判断函数和变量存在的实例代码详解

基础的JavaScript知识总结(十)闭包、立即执行函数

JavaScript中的闭包

以上就是js函数和变量的提升及闭包讲解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2783078.html

(0)
上一篇 2025年3月8日 16:43:52
下一篇 2025年3月8日 16:43:58

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript的数组使用集合

    这次给大家带来javascript的数组使用集合,javascript数组使用集合的注意事项有哪些,下面就是实战案例,一起来看一下。 1.join() 将数组中的所有元素转化为字符串并连接在一起 var a=[1,2,3,4];a.join…

    编程技术 2025年3月8日
    200
  • javaScript使用call和apply

    这次给大家带来javascript使用call和apply,javascript使用call和apply的注意事项有哪些,下面就是实战案例,一起来看一下。 call方法: 语法:call(thisObj,Object) 定义:调用一个对象的…

    编程技术 2025年3月8日
    200
  • JavaScript代码日常注意六点

    大家在日常JavaScript开发中都需要注意一些代码是否会出错,而我们今天来总结一下JavaScript中日常开发需要注意的六点易错部分,相信很多同学都需要来看看哦!废话少说我们直接开始进入正题吧! 立即执行函数 立即执行函数,通常也可作…

    编程技术 2025年3月8日
    200
  • 日常js开发规范

    本篇文章我们来讲一下JavaScript日常开发规范,让大家往后的JavaScript日常开发写出的js代码更规范,感兴趣的同学可以来看看本篇文章!日常开发规范还是很重要的哦! 前端入坑依赖前前后后写了好几个项目,在用javascript写…

    编程技术 2025年3月8日
    200
  • javascript中call详解

    这次给大家带来javascript中call详解,使用javascript中call的注意事项有哪些,下面就是实战案例,一起来看一下。 首先要先了解在函数本身会有一些自己的属性,比如: length:形参的个数; name:函数名; pro…

    编程技术 2025年3月8日
    200
  • javascript中call与apply以及bind有哪些不同

    这次给大家带来javascript中call与apply以及bind有哪些不同,javascript中call与apply以及bind使用的注意事项有哪些,下面就是实战案例,一起来看一下。 首先补充严格模式这个概念,这是ES5中提出的,只要…

    编程技术 2025年3月8日
    200
  • javascript中call与apply的应用

    这次给大家带来javascript中call与apply的应用,javascript中call与apply应用的注意事项有哪些,下面就是实战案例,一起来看一下。 求数组的最大值和最小值 定义一个数组: var ary = [23, 34, …

    编程技术 2025年3月8日
    200
  • 细说VueJS生命周期与钩子函数应用详解

    本篇文章讲述了VueJS的生命周期和其中钩子函数的应用,大家对VueJS的生命周期和其中钩子函数的应用不了解的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧 朋友你好!很幸运的,我的文章能够被你看到,那么此时你应该想对vuejs…

    2025年3月8日
    200
  • JavaScript中的冒泡排序详解

    本篇文章讲述了javascript中的冒泡排序,大家对javascript中的冒泡排序不了解的话那么我们就一起来看看本篇文章吧,利用javascript简单的实现了冒泡排序,好了废话少说进入正题吧! 冒泡排序 作为最简单的排序算法之一,冒泡…

    2025年3月8日
    200
  • js设计模式之-单例模式的使用

    这次给大家带来js设计模式之-单例模式的使用,使用js单例模式的使用注意事项有哪些,下面就是实战案例,一起来看一下。 1、概念:        在传统的开发工程师眼里,单利模式就是保证每一个类只有一个实例,我们在实现时首先判断实例是否存在,…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论