js:调用一个方法,如何获取一个方法的运行结果?举例说明
1) 通过返回值
//同步
function add(a,b){
let result = a + b;
return result;
}
var result = add(1,2);
console.log(result);
2) 通过回调函数
function add(a,b,handle){
// 异步
setTimeout(function(){
let result = a+b;
handler(result)
},3000);
}
add(1,2,function(total){
console.log("运算结果为",total);
});
该问题中可能遇到的难点
匿名函数
(1)普通函数:
//声明一个普通函数,函数的名字叫fn
function fn(){
console.log("javascript");
}
(2)将函数的名字去掉即是匿名函数:
//匿名函数,咦,运行时,你会发现报错啦!
function (){
console.log("javascript");
}
出现的问题:单独运行一个匿名函数,由于不符合语法要求,直接报错!
解决方法:只需要给匿名函数包裹一个括号即可:
//匿名函数在其它应用场景括号可以省略
(function (){
//由于没有执行该匿名函数,所以不会执行匿名函数体内的语句。
console.log("javascript");
})
(3)如果需要执行匿名函数,在匿名函数后面加上一个括号即可立即执行!
(function (){
//此时会输出javascript
console.log("javascript");
})()
(4)倘若需要传值,直接将参数写到括号内即可:
(function (str){
//此时会输出javascript,好帅!
console.log("javascript," + str);
})("好帅!")