qq_35883107 2018-04-08 06:22 采纳率: 66.7%
浏览 2673
已采纳

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

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

  • 写回答

4条回答 默认 最新

  • X白夏Y 2018-04-08 07:03
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • ycs7634209 2018-04-08 07:01
    关注

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

    评论
  • seatrcygull 2018-04-08 07:11
    关注

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

    评论
  • 袁杰Jerry 2018-04-09 03:38
    关注

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

    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 求制作一个个人网页,
  • ¥15 寻涂色内存脚本作者有项目有市场有资源.却技术
  • ¥15 蓝桥杯c51单片机问题
  • ¥15 ajax跨域问题请求修改代码
  • ¥15 python matplotlib
  • ¥15 短信测压+语音,有偿,必须用Python
  • ¥20 COCOS2DX的protobuf协议注册函数问题
  • ¥15 (标签-Pytorch|关键词-Stream)
  • ¥15 求深圳2019年开放数据应用创新大赛的营运车辆数据!
  • ¥15 软件UI界面绘制折线图