美文网首页
JavaScript 中的 return

JavaScript 中的 return

作者: oNexiaoyao | 来源:发表于2018-11-15 20:01 被阅读11次

Return

[1, 3, 4, 'abc'].map((item: number, index: number) => {
    // 定义标识, 用以判断是否存在符合条件项
    let _flag: boolean = false;
    ['a', 'b', 'abc'].map((value: number, i: numebr) => {
        if (value === item) {
            _flag = true;
        }
    });
    if (_flag) {
        console.log('对象存在重复,请检查');
        return;
    }    
});

console.log('不存在重复项, 继续往下执行');

上面所写代码的原目的是遍历两个数组对象进行对比,若存在某一项重复,则停止后续代码程序的运行。
但上述代码无论是否存在重复项,后续的程序都会运行下去。

原因:return语句终止函数的执行,并返回一个指定的值给函数调用

使用 return 跳出的只是当前的函数体,当 return 所处的函数体处于其他的函数体内部的时候,使用 return 语句只是会终止当前函数体的执行,而不会终止外层函数的执行。

改写上面错误的代码:

// 定义标识, 用以判断是否存在符合条件项
let _flag: boolean = false;
[1, 3, 4, 'abc'].map((item: number, index: number) => {
    ['a', 'b', 'abc'].map((value: number, i: numebr) => {
        if (value === item) {
            _flag = true;
        }
    });    
});

if (_flag) {
    console.log('对象存在重复,请检查');
    return;
}
console.log('不存在重复项, 继续往下执行');

相关文章

网友评论

      本文标题:JavaScript 中的 return

      本文链接:https://www.haomeiwen.com/subject/uprufqtx.html