回调函数他其他的方式也可以达到同样的效果,但是我看网上都是一种写法,想知道为什么
这三种都可以达到一样的效果,是不是都可以称为回调函数呢
```javascript
function fn(ll) {
}
function fn2() {
console.log('sasa')
}
fn(fn2())
function fn(ll) {
ll
}
function fn2() {
console.log('sasa')
}
fn(fn2())
function fn(ll){
ll()
}
function fn2(){
console.log('sasa')
}
fn(fn2)
```
我的个人观点:
函数可以作为参数传递,在js里面当一个函数传了一个函数作为参数的时候,这个被当作参数的函数是还没有被调用的。
所以我认为楼主第一种方式
function fn(ll) {
ll
}
function fn2() {
console.log('sasa')
}
fn(fn2())
这一种我个人认为应该不属于回调函数。
因为fn2()已经是被调用完毕了,传给fn的值是一个undefined,已经不是函数类型了,属于一个已经被调用完毕后传进去的值。
这是属于我的个人观点。
如果有误也欢迎指正
只是一种叫法而已,没有固定的写法。一般作为参数传递的函数就是回调函数。