匿名函数

Posted Smile沛沛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了匿名函数相关的知识,希望对你有一定的参考价值。

匿名函数

  • 匿名函数如果设置了函数名,在外面是无法调用的,但是在函数里面可以调用执行
  • 并且这个名字相当于一个常量,这个名字存储的值不能修改(非严格模式下不会报错,但是不会有任何的效果,严格模式下直接报错。可以理解为const创建的常量 )
let fn = unction AAA(){
  console.log(AAA)	//当前函数
}
var b = 10;
(function b(){
  b = 20
  console.log(b)	//function b;b此时相当于一个常量,不能被改变
})()
console.log(10)		//10 
var b = 10;
(function(){		//去掉匿名函数的名称b之后,里面的b就变成全局的了
  b = 20
  console.log(b)	//20
})()
console.log(10)		//20

现在要让上面的匿名函数中的b的值log变成20,并且全局b仍然是10,怎样实现?

  • 将b变成私有变量,声明它或者改为形参
//方法一:改为形参
var b = 10;
(function b(b){	//形式参数
  b = 20
  console.log(b)	//20
})()
console.log(10)		//10 

//方法二:声明它
var b = 10;
(function b(){	
  let b = 20	//或者使用var声明也可以
  console.log(b)	//20
})()
console.log(10)		//10 

以上是关于匿名函数的主要内容,如果未能解决你的问题,请参考以下文章

repost对JAVASCRIPT匿名函数的理解(透彻版)

如何启动匿名线程类

匿名函数

匿名函数的用法

使用匿名函数瓶颈提高 matlab 代码的性能

函数式编程——匿名函数