减少全局变量污染

Javascript可以很随意地定义哪些可保存所有应用资料的全局变量.不幸的是,全局变量消弱了程序的灵和性,所以应该避免!

最小化全局变量的一个方法是在你的应用中只创建唯一一个全局变量:

var MYAPP = {};
该变量此时变成了你的应用容器:

MYAPP.stooge ={ "first-name":"Joe", "last-name":"Howard" } MYAPP.flight={ airline:"Oceanic", number:815, deiparture:{ IATA:"SYD", time :"2011-11-26 16:55" city:"Sydney" }, arrival:{ IATA:"LAX", time :"2011-11-27 12:55" city:"Los Angeles" } };
只要把多个全局变量都整在一个名称空间下,你将显著地降低与其他应用程序、足迹爱你或类库之间产生糟糕的相互影响的可能性。你的程序也会变得更容易阅读,因为很明显MYAPP.stooge指的是顶层结构。


单片机中的局部变量和全局变量在使用范围和作用上有所不同。 局部变量是在函数内部定义的变量,只在该函数内部有效。局部变量的作用域仅限于定义它的函数内部,函数执行完后会被释放。局部变量的优点是它们占用的内存空间较小,不会造成全局命名空间的污染。在函数内部可以定义多个同名的局部变量,它们之间相互独立,不会相互影响。局部变量的生命周期与函数的调用有关,每次调用函数时都会重新创建局部变量。 全局变量是在函数外部定义的变量,它可以在程序的任何地方访问。全局变量的作用域从定义开始,到整个程序结束为止。全局变量的优点是它们可以在程序的多个函数中共享数据。但使用全局变量也有一些限制,比如可能会占用较多的内存空间,容易造成命名冲突,并且在多线程环境下可能会引发竞争条件的问题。 在单片机编程中,使用局部变量能够提高程序的可读性和可维护性,因为局部变量的作用范围较小,只在特定的函数内部有效。而全局变量的使用应该谨慎,尽可能避免全局变量的使用,以减少命名冲突和提高程序的可移植性。在函数内部引用变量时,会优先使用同名的局部变量,而不会使用全局变量。 总结来说,局部变量和全局变量在单片机编程中具有不同的作用和使用规则。局部变量适用于函数内部临时存储数据,而全局变量适用于多个函数之间共享数据。在实际编程中,应根据具体情况选择合适的变量类型来使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [单片机全局变量和局部变量的使用](https://blog.csdn.net/chinseeker/article/details/9492223)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [C语言全局/局部变量](https://download.csdn.net/download/luzire/10616431)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值