js自执行函数、调用递归函数、圆括号运算符、函数声明的提升
2018-07-18 11:32
483 查看
前言
起因是我要在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会把声明函数的代码优先执行
相关文章推荐
- js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域
- js代码执行过程,js预编译,变量声明提升,函数体整体提升
- Js中有关变量声明和函数声明提升的问题
- JS、函数的声明与调用、有参函数与无参函数、返回值
- 回车执行js函数实现ajax调用
- js变量声明提升,变量作用域与函数作用域,作用域链
- JS中的函数声明提升和变量声明提升
- JS面试中的的变量提升和函数声明
- Web前端从入门到放弃(js函数声明和调用、有参函数和无参函数、有返回值)
- JS逻辑题 技术点: 1). 变量提升 2). 函数提升 3). 预处理 4). 调用顺序
- js自执行函数及参照jquery调用方法方式
- 在iframe里调用parent.func()引出的js函数运行在它们被定义的作用域里,而不是它们被执行的作用域里
- JS变量声明提升、函数声明提升
- js 函数定义,使用,作用域,变量声明提升,遇解析.....
- ECMASCRIPT——Js中的数据类型、运算符、流程控制、函数作用域链、预解析、匿名函数自执行、怪异的几个地方
- js的声明函数的赋值函数以及执行顺序问题
- [js]变量声明、函数声明、函数定义式、形参之间的执行顺序
- 在widget.js中很多函数是自动执行的,不调用也会执行
- js中的函数 参数 调用 执行
- js中函数表达式、函数声明和立即执行函数归纳