搜索

首页  >  问答  >  正文

gulp - javascript有return和没return有什么区别

以下代码(除注释)拷自dlmanning/gulp-sass

gulp.task('sass', function () {
  // 这里有 return , 和不加 return 有什么区别
  return gulp.src('./sass/**/*.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('./css'));
});

gulp.task('sass:watch', function () {
  // 这里没有 return
  gulp.watch('./sass/**/*.scss', ['sass']);
});
PHPzPHPz2896 天前451

全部回复(5)我来回复

  • 高洛峰

    高洛峰2017-04-10 17:42:25

    我表示不想敲字,并向你扔了两个链接:
    http://stackoverflow.com/ques...
    http://stackoverflow.com/ques...

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-10 17:42:25

    谢邀。

    默认情况下函数的返回值为undefined(即没有显示地定义返回值的话),但是构造函数比较例外,new构造函数在没有return的情况下默认返回新创建的对象。但是在有显示返回值的情况下,如果返回值为基本数据类型的话(string,number,boolean,undefined,null),返回值仍然为新创建的对象,这一点比较奇怪,需要注意。只有在显示返回一个非基本数据类型的对象的时候,函数的返回值才为指定的对象。在这种情况下,this值所引用的对象就被丢弃了。

    在gulp这里,返回的是gulp.src这个对象,以便接下来的回调(如果有的话)能继续调用这个gulp.src对象,完成其他的事情。

    回复
    0
  • PHP中文网

    PHP中文网2017-04-10 17:42:25

    有return函数执行完返回return后的内容,没有的话函数执行完返回undefined

    回复
    0
  • PHP中文网

    PHP中文网2017-04-10 17:42:25

    有return你可以像jquery一样链式调用

    $('xx').text('xxx').attr('src','xxx')

    回复
    0
  • PHP中文网

    PHP中文网2017-04-10 17:42:25

    return就是返回一个值,给调用的地方

    回复
    0
  • 取消回复