learner_pu 2017-04-20 23:32 采纳率: 20%
浏览 6638
已采纳

为什么不能使用全局变量来在函数间传递函数和结果

为什么不能使用全局变量来在函数间传递函数和结果,大神求解答,

  • 写回答

12条回答 默认 最新

  • threenewbee 2017-04-21 00:37
    关注

    可以这么做,但是这是不好的习惯。有几个原因:
    全局变量只有一个,如果你的函数存在递归调用,那么将导致程序错误。
    同样的原因,全局变量导致多线程的程序无法并发执行。
    使用全局变量使得函数存在副作用(调用一个函数,对函数以外的数据/状态的改变,称之为副作用),这使得对函数调用顺序敏感的代码结果变得不可预测。降低代码的可读性。
    依赖全局变量的函数,没办法单独提取出来,在另一个项目中不加更改的重复使用。
    使用全局变量的函数,它很难单独地测试。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(11条)

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊