函数是Javascript中最灵活的对象之一,这里只是解释其匿名函数的目的,匿名函数是一个不指定函数名或指针的函数,而自
执行匿名函数只是其中之一,在下面称之为自执行函数。
下面是最常见的自执行函数之一:
传统的匿名函数
(函数(){())
警报(你好);
});
这段代码的执行效果是弹出
网页时加载:你好
什么使它自动请看下面的代码
删除传统写作风格中的括号,并在
运算符前面加上+,-!
函数(){
警报(你好);
(});
函数(){
警报(你好);
(});
+函数(){
警报(你好);
(});
-函数(){
警报(你好);
(});
这些写作
方法和上面提到的传统方法没有什么
区别,
我
发现这些方法的共同点是
操作符,但是传统的圆括号()方法也是出现在a(b + d)中的操作之一。
运营商+转移到自身
参数=
功能自动执行但是有些符号不
支持,例如,*,*,,数字,它的自我执行仍然是神秘的,而且互联网找不到像样的答案。
然后我发现了一个神奇的现象,这些算子可以无限地叠加。
函数前面是无限叠加的具体符号…
+ + +!!!+ ~!C++!!!!!!+ ~!+ +—!+ + +!!!+ ~!+ +—!+ + +!!!+ ~!+ +—!+ + +!!!+ ~!+ +—!+ + +!!!+ ~!C++!!!!!!!+ + - + - + ~ ~~~~~~~~—!!!!!!!+函数A(b){
警报(你好);
(});
程序正常
运行!!!!!!
然而,有两种
情况是
错误的。
如果
连续出现三个或多个+或符号,则会出现错误。
如果有两个连续的符号+或-与其他符号,它会出错,例如;
错误
提示:未捕获的referenceerror:前缀操作无效的左侧(即左表达表达错误)
然后,我使用相同的符号来计算变量,并发现它完全相同。可能已经解释过Javascript的操作促使函数自动执行,或者可以理解为通过操作调用这个函数。
它不是由自己执行的函数,而是通过操作调用函数!但只有部分操作得到支持!
另外,这个自执行函数不一定是匿名函数!看看上面的代码。我在函数后面定义函数名a。没有什么不寻常的,但它没有鸡蛋。A仍然不能被其他方法调用,但是我认为很多人都称它为匿名函数。这有点不对。
以上是对Javascript自执行匿名函数(函数){(})的原理的简单
介绍,希望对您有所帮助!