请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

關於畢包問題

老師,我還沒能理解必包的使用場景!?
關於_list 變數的封裝性,不是寫在函數裡就可以達到嗎,不大懂為什麼要回傳函數

function isFirstLoad(id) {
    var _list = [];
    if(_list.indexOf(id)>=0 ) {
        return false
    }else{
        _list.push(id);
        return true;
    }
}

正在回答

2回答

双越 2019-11-06 20:57:29

你的代码,和视频中的代码,最大的区别在于:_list 这个变量的作用域(即控制权)。视频中的代码,_list 是放在一个工厂函数的闭包中的,而你的 _list 直接暴露在了判断业务逻辑的代码中。

你说实现功能,那肯定能实现。你就是不用函数,直接把函数里面的代码暴露出来也可以实现。但是不同的实现有不同的用意,不同的设计思路。

0 回复 有任何疑惑可以回复我~
  • 提问者 阿倫 #1
    謝謝老師,我懂了, 閉包會讓 _list 一直保存在記憶體, 我上面的寫法有問題!
    回复 有任何疑惑可以回复我~ 2019-11-06 21:09:46
  • 提问者 阿倫 #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-11-06 22:25:28
双越 2019-11-06 20:47:25

可以试着把你的想法用代码写出来,然后我帮你分析一下。

0 回复 有任何疑惑可以回复我~
  • 提问者 阿倫 #1
    老師,我上面貼的代碼是沒有回傳函數的版本
    回复 有任何疑惑可以回复我~ 2019-11-06 20:49:10

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信