js 获取函数返回值

return 语句会终止函数的执行并返回函数的值。
但是只会执行当前函数,如果嵌套多层函数,每一层都需要return才可以
比如:

function test(){
        return 1;
}
console.log(test());     
// 1

function test(){
     (function(){
        return 1;
    })();
}
console.log(test());   
//undefined

//自执行也需要return
function test(){
    return (function(){
        return 1;
    })();
}
//1

参考http://www.cnblogs.com/zmc/p/6916164.html
promise回调例子

<script src="https://cdn.bootcss.com/bluebird/3.5.1/bluebird.min.js"></script>//如果低版本浏览器不支持Promise,通过cdn这种方式
      <script type="text/javascript">
        function loadImg(src) {
            var promise = new Promise(function (resolve, reject) {
                var img = document.createElement('img')
                img.onload = function () {
                    resolve(img)
                }
                img.onerror = function () {
                    reject('图片加载失败')
                }
                img.src = src
            })
            return promise
        }
        var src = 'https://www.imooc.com/static/img/index/logo_new.png'
        var result = loadImg(src)
        result.then(function (img) {
            console.log(1, img.width)
            return img
        }, function () {
            console.log('error 1')
        }).then(function (img) {
            console.log(2, img.height)
        })
     </script>

作者:浪里行舟
链接:https://www.jianshu.com/p/1f66aca680cb
來源:简书

猜你喜欢

转载自blog.csdn.net/qq_39512863/article/details/85064243