JavaScript 学习笔记 五 函数作用域

本文深入探讨了JavaScript中的作用域概念,包括词法作用域、作用域链及全局对象的作用。通过示例展示了如何在函数内部使用局部变量与全局变量,并介绍了函数作为对象的特性,以及如何通过Function对象修改函数的上下文。最后讨论了函数作为处理方式抽象的实用案例。

 

//函数作用域
//JavaScript 的作用域为词法作用域,所谓词法作
//用域是说,其作用域为在定义时(词法分析时)就确定下来的,而并非在执行时确定
//作用域链是关于作用域的链,通常实现为一个链表,链表的每个项都是一个对象,在全局作用域中,该链
//中有且只有一个对象,即全局对象。对应的,在一个函数中,作用域链上会有两个对象,第
//一个(首先被访问到的)为调用对象,第二个为全局对象。

//JavaScript 中,函数也是一种对象,并非其他任何对象的一部分
//函数本身是独立的。可以通过Function 对象上的 call 或者 apply 函数来修改函数的上下
var str = "global";
function scopeTest(){
    alert(str);// 由于在局部作用域是能找到str的定义,而此处使用是在局部定义之前,所以打印的是  undefined
    var str = "local";
    alert(str);
    alert(window.str);// 利用全局对象,来引用全局变量
}
scopeTest();
function scopeTest2(){
    alert(str);//由于在局部作用域上未能找到定义,而此处是继续在链接上查询,最终找到的是全局变量
}
scopeTest2();
function adPrint2(str, handler){
print(handler(str));
}
//将字符串转换为大写形式,并返回
function up(str){
return str.toUpperCase();
}
//将字符串转换为小写形式,并返回
function low(str){
return str.toLowerCase();
}
adPrint2("Hello, world", up);
adPrint2("Hello, world", low);
//想要处理一些对象,但是又不确定以何种形式来处理,则完全可以将“处理方
//式”作为一个抽象的粒度来进行包装(即函数)。

 

 

基于径向基函数神经网络RBFNN的自适应滑模控制学习(Matlab代码实现)内容概要:本文介绍了基于径向基函数神经网络(RBFNN)的自适应滑模控制方法,并提供了相应的Matlab代码实现。该方法结合了RBF神经网络的非线性逼近能力和滑模控制的强鲁棒性,用于解决复杂系统的控制问题,尤其适用于存在不确定性和外部干扰的动态系统。文中详细阐述了控制算法的设计思路、RBFNN的结构与权重更新机制、滑模面的构建以及自适应律的推导过程,并通过Matlab仿真验证了所提方法的有效性和稳定性。此外,文档还列举了大量相关的科研方向和技术应用,涵盖智能优化算法、机器学习、电力系统、路径规划等多个领域,展示了该技术的广泛应用前景。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的研究生、科研人员及工程技术人员,特别是从事智能控制、非线性系统控制及相关领域的研究人员; 使用场景及目标:①学习和掌握RBF神经网络与滑模控制相结合的自适应控制策略设计方法;②应用于电机控制、机器人轨迹跟踪、电力电子系统等存在模型不确定性或外界扰动的实际控制系统中,提升控制精度与鲁棒性; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,深入理解算法实现细节,同时可参考文中提及的相关技术方向拓展研究思路,注重理论分析与仿真验证相结合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值