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

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

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

  • 写回答

12条回答 默认 最新

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

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

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

报告相同问题?