js自执行函数调用递归函数圆括号运算符函数声明的提升

Posted GetPower

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js自执行函数调用递归函数圆括号运算符函数声明的提升相关的知识,希望对你有一定的参考价值。

前言

起因是我要在jquery的ajax中需要根据返回值来决定是否继续发起ajax请求,这是一个有条件的循环,符合条件就跳出。可以使用while循环的,但是想了想还是递归调用好用。

调用递归函数

递归函数大概就是这样的。不符合条件重新执行这个函数

    function f() {
        // do something
        if(1){
        }
        else{
    f();
        }
    }

圆括号运算符和自执行函数

js中圆括号运算符指 (),一般有两个作用。

1、在函数后面表示立即执行这个函数,如 f()

2、计算表达式,如

// 打印21+1

根据 ()计算表达式的作用,来计算一个函数

// 返回函数本身
(function(){
// do something
})

根据 ()跟在函数后面表示立即执行这个函数

// 返回函数本身
(function(){
// do something
})()

当然,函数需要什么参数,()就需要传递什么参数,和一般的函数执行方式一样

函数声明的提升

一般的,js执行顺序是有序的,变量在未声明前使用会返回undefined,但是声明一个函数 function(){} 不同,可以在声明函数前使用它,这是因为js会把声明函数的代码优先执行

以上是关于js自执行函数调用递归函数圆括号运算符函数声明的提升的主要内容,如果未能解决你的问题,请参考以下文章

Javascript大括号和中括号的区别

js函数自执行的不同写法

if 判断 和三目运算符 和函数

js自执行函数&扩展方法

Scala中调用函数或者方法为啥有时候需要括号,有时候不需要括号

js中(function(){…})()立即执行函数写法理解