js匿名函数和立即执行函数[通俗易懂]

js匿名函数和立即执行函数[通俗易懂]js匿名函数和立即执行函数1.匿名函数a)写法b)特点2.立即执行函数a)写法b)特点c)示例1.匿名函数匿名函数又叫拉姆达函数,使用前需要先赋值。a)写法 //hello();//会报错,因为定义在后,使用在前。 varhello=function(){ console.log(“hello”); }; hello();//hellob)特点匿名函数…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1. 匿名函数

匿名函数又叫拉姆达函数, 使用前需要先赋值。

a)写法

	//hello();//会报错,因为定义在后,使用在前。
	var hello=function(){ 
   
		console.log("hello");
	};
	hello();//hello

b) 特点

  • 匿名函数可以直接访问到外层署名函数(Foo)中的变量(使用关键字var定义的),但不能访问外层署名函数的属性(使用关键字this定义的)
  • 匿名函数既可以直接访问外层匿名函数中的变量,也可以直接访问外层匿名函数中的属性
外层函数类型: 署名函数 匿名函数
变量 可以访问 可以访问
属性 不能访问 可以访问

2. 立即执行函数

该类函数没有声明,直接执行,执行完立即释放。一般做初始化比较合适。

a) 写法

	(function (){ 
   
		console.log("写法一");
	}());//w3c建议写法
	(function (){ 
   
		console.log("写法二");
	})();

b) 特点

  • 只有表达式才能被执行,如function (){}(),这样不行,因为function (){}是声明不是表达式,如果是var fn=function (){}();就可以
  • 但执行后,函数名或者变量就不代表函数了,被执行符号执行的表达式其函数名字将被忽略.如以上运行后,fn的值就是undefined了

c) 示例

  • 错误示例
	function fn(a,b,c){ 
   
		console.log(a+b+c);
	}(12,20,30);//不报错原因是(12,20,30)当做逗号表达式用。
  • 正确示例
	(function fn(a,b,c){ 
   
		console.log(a+b+c);
	}(12,20,30));//62
  • 示例2
	var x=function add(a,b){ 
   
	    console.log(a+b);
	}(10,20);//30
	console.log(x);//undefined
	console.log(add);//不存在,报错
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188490.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hvie hbase各自的使用场景

    hvie hbase各自的使用场景hvie hbase各自的使用场景

    2022年4月23日
    61
  • 关于测试url传值的问题

    关于测试url传值的问题

    2021年6月8日
    117
  • iidea2022.01激活【2022.01最新】2022.01.24

    (iidea2022.01激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1TCF2R91JZ-eyJsaWNlbnNlSWQi…

    2022年3月31日
    56
  • gcc的编译命令_cmake 编译

    gcc的编译命令_cmake 编译GCC编译命令                    —————-加入新公司后,基本上是一键式打包脚本,对于GCC基本上快忘了,重新拾起。GCC命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心。一.常用编译命令选项假设源程序文件名为test.c。1…

    2022年10月13日
    0
  • linux常用命令菜鸟教程_化妆初学者必备工具

    linux常用命令菜鸟教程_化妆初学者必备工具一.学习Linux终端命令的原因1.Linux刚面世时并没有图形界面,所有的操作全靠命令完成,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等2.在职场中,大量的服务器维护工作都是在远程通过SSH客户端来完成的,并没有图形界面,所有的维护工作都需要通过命令来完成在职场中,作为后端程序员,必须要或多或少的掌握一些Linux常用的终端命令。3.Linux发行版本的命令大概有200多个,但是常用的命令只有10多个而已二.linux常用指令ls命令…

    2022年9月23日
    0
  • 补码的运算方法「建议收藏」

    补码的运算方法「建议收藏」负数在计算机中是用补码的形式存储的,正数在计算机中是用原码的形式存储的。正数求原码直接将十进制转二进制即可,负数的补码是在原码的基础上除符号位外其余位取反后+1。但是用这种方式求负数补码用编程实现不太方便,下面介绍一种用编程实现起来较简便的求负数补码的方法:1.求出负数绝对值的原码2.从原码的最后一位数码位往前数,当遇到第一个1时停在此位置3.将第一个1前面的数码全部求反…

    2022年9月23日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号