我写了两个函数。第一个函数使用了回调函数,第二个函数没有。但是这两个函数的打印结果都是一样的。那么这里有什么区别呢?在这种情况下是否不需要回调函数?
//function 1
function printHi(name, callback){
console.log('Hi '+name);
callback(name);
}
function printBye(name){
console.log('Bye '+name)
}
printHi('lavanya',printBye);.
/*************************************************************************/
//function 2
function printHi(name){
console.log('Hi '+name);
printBye(name);
}
function printBye(name){
console.log('Bye '+name)
}
printHi('lavanya');
printHi
在第一个版本中是一个高阶函数,而在第二个版本中不是。
printHi
在第一个版本中,当涉及到参数时,它是独立的,它不访问全局变量,但在第二个版本中,它从全局范围内访问一个函数。printBye
.
你可以阅读更多关于高阶函数的信息 此处