javascript - 以下js代码有什么不同,求解

查看:84
本文介绍了javascript - 以下js代码有什么不同,求解的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

doSomething().then(function () {
  return doSomethingElse();
});

doSomething().then(function () {
  doSomethingElse();
});

doSomething().then(doSomethingElse());

doSomething().then(doSomethingElse);

是在一个网站上看到的,请问这几段js代码有什么区别

解决方案

上面 前者return 后面表示的是函数的返回值是doSomethingElse(),而后者没有指定 return默认返回值是undefined

下面,无论doSomethingElse()还是doSomethingElse都表示函数的一个参数。
简化版例子

function a(){
    console.log('a')
    return 'a inner';
}

function b(){
    a()
}

function c(){
    return a()
}
function e(fn){
    console.log(fn)
}

b()//a
c()//a  "a inner"
e(a) 
// function a(){
//    console.log('a')
//    return 'a inner';
//}

e(a()) // a   a inner

这篇关于javascript - 以下js代码有什么不同,求解的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆