作用域及闭包

作用域

全局执行上下文(全局作用域中)
1.在执行全局代码前将window确定为全局执行上下文
2.对全局数据进行预处理

  • var定义的全局变量 赋值为underfined,添加为window的属性
  • function函数声明的的方法,添加为window的方法
  • this赋值为window

3.执行全局代码
函数执行上下文(局部作用域中)
1.调用函数,准备执行函数体前,创建对应的函数执行上下文
2.对局部数据进行预处理

  • 形参变量赋值为实参,添加为执行上下文属性
  • arguments赋值为实参列表,添加为执行上下文属性
  • function声明的函数,添加为执行上下文的方法
  • this赋值为 调用函数的对象

3.开始执行函数代码
块作用域

  1. try/catch 中的 cathc 子语句中声明的变量,是属于 catch 块的块级作用域。
  2. let/const let将变量声明依附在它所在的块儿(通常是{…})作用域中。const声明的常量

执行上下文栈(后进先出)
函数嵌套调用,当一个函数被调用时,该函数执行上下文就被压入一个环境栈中。而在函数执行之后,栈将该函数执行上下文弹出
变量提升与函数提升(优先变量提升)

  1. 变量在未定义时就可以访问到。(值为undefined)
  2. 函数在未定义时就可以执行

闭包

内部函数引入外部函数的变量;外部函数调用,内部函数执行定义时产生
常见方式
函数作为返回值
函数作为实参传入
作用:
延长变量的生命周期
封装函数中的变量,提高返回供外部访问,操作
缺点:可能造成内存泄漏(使用闭包后及时将变量赋为null)
生命周期:
内部函数执行定义时产生
内部函数成为垃圾对象时死亡
eg:

function fn(a){
   return function(){
   console.log(a);
};
}
var g=fn();//产生
g();
g=null;//死亡
内容概要:本文探讨了在MATLAB/SimuLink环境中进行三相STATCOM(静态同步补偿器)无功补偿的技术方法及其仿真过程。首先介绍了STATCOM作为无功功率补偿装置的工作原理,即通过调节交流电压的幅值和相位来实现对无功功率的有效管理。接着详细描述了在MATLAB/SimuLink平台下构建三相STATCOM仿真模型的具体步骤,包括创建新模型、添加电源和负载、搭建主电路、加入控制模块以及完成整个电路的连接。然后阐述了如何通过对STATCOM输出电压和电流的精确调控达到无功补偿的目的,并展示了具体的仿真结果分析方法,如读取仿真数据、提取关键参数、绘制无功功率变化曲线等。最后指出,这种技术可以显著提升电力系统的稳定性与电能质量,展望了STATCOM在未来的发展潜力。 适合人群:电气工程专业学生、从事电力系统相关工作的技术人员、希望深入了解无功补偿技术的研究人员。 使用场景及目标:适用于想要掌握MATLAB/SimuLink软件操作技能的人群,特别是那些专注于电力电子领域的从业者;旨在帮助他们学会建立复杂的电力系统仿真模型,以便更好地理解STATCOM的工作机制,进而优化实际项目中的无功补偿方案。 其他说明:文中提供的实例代码可以帮助读者直观地了解如何从零开始构建一个完整的三相STATCOM仿真环境,并通过图形化的方式展示无功补偿的效果,便于进一步的学习与研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值