qq_35883107
qq_35883107
采纳率66.7%
2018-04-08 06:22 阅读 2.5k

js闭包,很多时候用在外部获取一个函数内的局部变量。

5

js闭包,很多时候用在获取外部一个函数内的局部变量。
那为什么不将这个局部变量变为全局变量呢。这样更容易写更简单吧

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    Sarahhoney12_ X白夏Y 2018-04-08 07:03

    如果你经常使用某个变量A,那么你把它设为全局变量也没有问题。但是闭包是无处不在的,产生的局部变量很多,并且有些变量如for循环中的i变量等,你要把它们全部都弄成全局变量吗?到时候词法作用域的作用原理极可能会让你的代码出错。闭包真的很好用也不难的,建议题主耐心一点消化闭包,作用域和原型链的知识。闭包这个东西虽然听起来在奇怪,但是就是你经常随手用和写的那些东西

    点赞 1 评论 复制链接分享
  • yangcs199339 yangcs199339 2018-04-08 07:01

    一般尽量少建立全局变量(容易造成编码冲突),闭包提供访问和修改方法来实现对象封装

    点赞 评论 复制链接分享
  • seatrcygull seatrcygull 2018-04-08 07:11

    1、局部变量范围比全局变量小,作用域相对小,更加安全,每个函数只管自身变量,防止随便改值
    2、都设为全局变量,易导致变量重名,使用混乱
    3、局部变量与全局变量同名的情况下,局部变量屏蔽全局变量

    点赞 评论 复制链接分享
  • qq_25324335 袁杰Jerry 2018-04-09 03:38

    避免污染全局作用域 这是常识==

    点赞 评论 复制链接分享

相关推荐