js自执行函数、调用递归函数、圆括号运算符、函数声明的提升
前言
起因是我要在jquery的ajax中需要根据返回值来决定是否继续发起ajax请求,这是一个有条件的循环,符合条件就跳出。可以使用while循环的,但是想了想还是递归调用好用。
调用递归函数
递归函数大概就是这样的。不符合条件重新执行这个函数
function f() { // do something if(1){ } else{ f(); } }
圆括号运算符和自执行函数
js中圆括号运算符指 (),一般有两个作用。
1、在函数后面表示立即执行这个函数,如 f()
2、计算表达式,如
// 打印2 (1+1)
根据 ()计算表达式的作用,来计算一个函数
// 返回函数本身 (function(){ // do something })
根据 ()跟在函数后面表示立即执行这个函数
// 返回函数本身 (function(){ // do something })()
当然,函数需要什么参数,()就需要传递什么参数,和一般的函数执行方式一样
函数声明的提升
一般的,js执行顺序是有序的,变量在未声明前使用会返回undefined,但是声明一个函数 function(){} 不同,可以在声明函数前使用它,这是因为js会把声明函数的代码优先执行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?