s定义在外面和里面完全不一样?


const _flatten = arr => {
                var s=[]
                if(arr.length==2){
                    s.push(arr[0])
                    _flatten(arr[1])
                }else{
                    s.push(arr[0])
                }
                return s
            }
------------------------------------------------------------------------------
var s=[]
const add = arr => {
                if(arr.length==2){
                    s.push(arr[0])
                    add(arr[1])
                }else{
                    s.push(arr[0])
                }
                return s
            }


#建设银行暑期实习##2022春招##咪咕互娱##打开Python的大门#
全部评论
现在看到代码就不想看
点赞 回复 分享
发布于 2022-07-05 11:35
因为var时函数级作用域,递归的时候,又重新创建了s,返回的肯定是最后一次创建的s
点赞 回复 分享
发布于 2022-09-07 09:18 江苏

相关推荐

10-05 11:11
海南大学 Java
投票
理想江南137:感觉挺真诚的 感觉可以试一试
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务