JavaScript函数闭包使用(九)

news/2024/7/19 13:36:24 标签: javascript, js, 前端

函数闭包

好处:

  • 使用了闭包,可以上局部变量不随着原函数销毁而销毁
  • 使用闭包可减少全局变量的定义

闭包定义三个条件:

  1. 函数内 嵌套 函数
  2. 内部嵌套的函数用到了外部函数的函数变量
  3. 外部函数把内部函数作为返回值 return出去

示例1:

// 闭包定义示例

function openFun(){
  var a=1;
  return function(){
    console.log(a)
  }
}
openFun()();

展示:

示例2:

// 闭包定义示例2

function openFun(){
  var a=1;
  var sum=0;
  return function(){
     sum += a;
    console.log(sum)
  }
}
var inner = openFun();
inner();

展示:

 

销毁闭包中的局部变量的方法:

手动赋值为null

示例:

function st(){
  var a=0;
  return function(arg){
    a = arg;
    console.log(a);
  }
}
var inner = st();
inner(1)

展示: 


http://www.niftyadmin.cn/n/1867590.html

相关文章

JavaScript自执行函数(十)

自执行函数 定义后就会执行,且只执行一次 语法定义:(定义一个没有名字的函数)(); 定义示例: // 自执行函数 ( function(){console.log(1); } )();使用实例: // 自定义函数闭包示例 var inner (function(){var su…

oracle表空间创建 linux系统

-- 进入oracle su - oracle -- 进入sqlplus命令界面 sqlplus / as sysdba 查询表空间 存储位置 表空间数据文件的数据字典 select * from dba_data_files; select * from dba_temp_files; -- 删除表空间 drop tablespace tablespace_name; -- 删除非空表空间 drop tablespace…

JavaScript回调函数(十一)

JavaScript回调函数: 把一个函数的定义作为参数传递给另一个函数使用。 参数可以是任意类型:可以是数字,字符串,也可以是函数,对象。 实例: // 回调函数示例 function chat(a,callback){// callback(a)…

JavaScript函数alert(十二)

alert是弹窗函数,属于最基础的方法之一,运行后,弹出一个窗口。 示例:

JavaScript函数new和this关键词理解(十三)

new关键词的使用: 一般用来做 new 一个函数,产生一个新的函数,用来构造一个构造函数模板,用new方式创建具体调用对象。 比如jquery中的 jQuery 就是new出来的,还有文本编辑器等,在页面引入js资源后,也会用…

JavaScript 小数相加

浮点型计算会有精度丢失问题,解决思路V1版: 1、把浮点型 转换为 int整形计算 在除以 倍数 比如: 0.10.02(0.1*1000.02*100)/100 2、倍数 怎么取 小数点后的位数长度就是 倍数,可把 浮点参数 当成字符串,然后利用sp…

html是什么的理解

文章中我说两部分,1部分官方解释 2部分说说自己理解。 官方标准解释: HTML的全称为HyperText Markup Language,也就是超文本标记语 言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说 明文字、图形、动画、声音、表格、超…

Emeditor 删除一行某个字符之前所有内容

示例:一行中前有 数字.XXX 需求:删除掉XXX前的内容 操作:使用Emeditor的查询替换 正则表达式,查找^.\. 替换为空 参考内容: Emeditor 常用的正则表达式 - dzqabc - 博客园Emeditor 目前来说是我个人感觉非常不错的一…