关于全局变量和局部变量的理解

本文讲解了函数内外部变量的区别,参数的按值传递机制,以及局部与全局作用域的概念。函数内部声明的变量为局部变量,外部声明的为全局变量。参数传递遵循按值传递原则,且被视为局部变量。子作用域能引用父作用域变量,但反之则不可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 ,函数内部声明变量是函数自己的局部变量,函数外部声明变量是全局变量,

如果函数内没有声明局部变量,将返回全局变量,如果函数内部声明有局部变量,

将返回局部变量;

2,如下图,函数内声明有color= red,返回red;

2,下图没有声明局部变量,返回blue;

3,传递参数:ECMA中所有参数的传递都是按值传递;参数只能按值传递; 

参数实际上是函数的局部变量;调用这个函数时,变量count作为参数传入函数中,

count的值为20,数值20便复制给num使用,就是按值传递;如下:

在函数内部修改参数的值,原始的引用仍保持不变;

4,对作用域的理解:

首先需要理解全局环境,和局部环境,当没有创建函数的时候,可以认为整体是一个全局环境,

创建函数后,就相当于创建了一个局部环境,函数内部可以嵌套函数,说明函数内部还有一个

局部环境,子环境可以引用父环境声明的变量,而父环境不能引用子环境的变量;

 

转载于:https://www.cnblogs.com/vali/p/5643297.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值