看到下图这样的代码,不明白地方有三个:
第一个function前为什么要用感叹号?意思是把第一个函数的返回值强制转为布尔值吗?可以又没有赋值操作,转换成布尔值应该没有意义吧?
第二个函数和后面的函数都用~,这是同位取反?也是没有赋值,这样用是为什么?
每个匿名函数之间用逗号隔开,这是为什么?一般也是赋值的时候才用到逗号分隔吧?

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为声明式定义函数立即执行,解析器是无法理解的,要把声明式转化为函数表达式才能让解析器解析成功,常用的是添加(),其实添加
!+-~也是可以的:逗号就是连续执行多个匿名函数
和用括号括起来的作用一样。
直接写一个匿名函数是会报错的,必须要将它转成可识别的函数体再运行。
你甚至可以这样:
只要让它能够在一个作用域上就可以了
至于逗号,这是通用语法,for循环里面不是总能看见的么
楼上的说的都挺好,我个人认为: 这就是IIFE的一种形式。
楼主可以查看一下相关知识。