使用变量和常量(转)

“变量”是计算机内存中已命名的存储位置,它包含数据,如数值或文本字符串。变量中包含的数据称为变量的“值”。变量使用有助于理解脚本功能的名称来存储、检索和管理值。

声明和命名变量
遵循脚本语言的下列规则和原则来命名和声明变量。即使不要求在使用之前声明变量,但先声明变量的良好开发习惯将有助于减少错误。“声明”变量也就是告诉脚本引擎特定名称的变量已经存在,可以在脚本中使用该变量的参照。

VBScript
VBScript 不要求变量声明,但在使用之前先声明所有变量是一种良好的脚本编程习惯。要在 VBScript 中声明变量,可以使用“Dim”、“Public”或“Private”语句。例如:


可以在 .asp 文件中使用 VBScript“Option Explicit”语句,以便要求必须使用“Dim”、“Private”、“Public”和“ReDim”语句显式声明变量。“Option Explicit”语句必须位于任何 ASP 命令之后、任何 HTML 文本或脚本命令之前。此语句只影响使用 VBScript 编写的 ASP 命令;并不影响 JScript 命令。



Dim strUserName
Public lngAccountNumber
%>
.
.
.

有关这些命令的详细信息,请参阅位于 Microsoft Windows 脚本技术 Web 站点 http://msdn.microsoft.com/scripting/ 上的“VBScript 语言参考”。

JScript
虽然 JScript 通常不要求变量声明,但在使用之前先声明所有变量是一个良好的脚本编程习惯。要声明变量,可使用“var”语句。例如:


通常,只有在需要区分函数变量和函数外的“全局”变量时,才有必要在 JScript 中声明变量。在这种情况下,如果不区分这两个变量,JScript 将认为您专门引用的是全局变量。关于“var”语句的详细信息,请参阅“JScript 语言参考”。从位于 http://msdn.microsoft.com/scripting/ 的 Microsoft Windows 脚本技术 Web 站点上可以找到这些参考。

变量范围
变量“范围”或生存期确定哪些脚本命令可以访问变量。在过程中声明的变量具有“局部范围”;每次执行过程时创建和消除该变量。无法从过程外部访问该变量。在过程外部声明的变量具有“全局范围”;ASP 页中的任何脚本命令都可以访问和修改该变量值。

注意 将变量范围限制到过程中有利于提高性能。

如果声明变量,则局部变量和全局变量可以同名。修改其中一个变量的值,不会影响另一个变量。不过,如果不声明变量,则有可能在无意中修改全局变量的值。例如,在下例中虽然有两个变量 Y,但脚本命令返回值 1:

Option Explicit
Dim Y

Y = 1

SetLocalVariable

Response.Write Y

Sub SetLocalVariable
Dim Y
Y = 2
End Sub
%>
与此相反,在下例中因为没有显式声明变量,所以脚本命令返回值 2。当过程调用设置 Y 为 2 时,脚本引擎认为过程要修改全局变量:

Option Explicit
Dim Y = 1

SetLocalVariable

Response.Write Y

Sub SetLocalVariable
Y = 2
End Sub
%>
要避免此问题,有必要养成显式声明所有变量的习惯。这一点当使用“#include”语句在 .asp 文件中包含其他文件时尤其重要。被包含的脚本虽然在单独的文件中,但却当作是包含文件的一部分。除非声明变量,否则很容易忘记必须在主脚本和被包含脚本中使用不同的变量名。

提供变量的 Session 或 Application 作用域
全局变量只能在单个 .asp 文件内访问。要从单独页面外部访问变量,需提供变量的 Session 或 Application 作用域。Session 作用域变量对单个用户请求的 ASP 应用程序的所有页都可用。Application 作用域变量对任何用户请求的 ASP 应用程序的所有页都可用。Session 变量适用于存储单个用户的信息,如首选项、用户名或标识。应用程序变量适用于存储特定应用程序所有用户的信息,如应用程序需要的特定欢迎词或常规值。

ASP 提供了两种内建的对象,您可以在其中存储变量:“Session”对象和“Application”对象。

也可以用 Session 或 Application 作用域来创建对象实例。详细信息,请参阅设置对象作用域。

Session 作用域
要给变量提供 Session 作用域,可通过给对象中已命名条目赋值来将变量存储在 Session 对象中。例如,下面的命令将在“Session”对象中存储两个新变量:

Session("FirstName") = "Jeff"
Session("LastName") = "Smith"
%>
要从“Session”对象中检索信息,可使用输出命令 (

欢迎
可以在 Session 对象中存储用户首选项,然后通过访问这些首选项来确定哪些页返回给用户。例如,可以允许用户在应用程序首页中指定只查看纯文本内容,然后将此项选择应用于用户在该应用程序中访问的所有后续页。

strScreenResolution = Session("ScreenResolution")
If strScreenResolution = "Low" Then
%>
这是文字页面。

这是多媒体页面。

注意 如果在脚本中要多次参考 session 作用域变量,可以考虑如上例所示,将该变量赋给一个局部变量以便提高性能。

Application 作用域
要提供变量 Application 作用域,可通过给对象中已命名条目赋值来将变量存储在 Application 对象中。例如,下面的命令在“应用程序”对象中存储应用程序特定的欢迎词:


要从“Application”对象中检索信息,可使用 ASP 输出命令 (


同样地,如果脚本重复参考 Application 作用域变量,应将该变量赋给局部变量以便提高性能。

使用常量
“常量”是用来取代数值或字符串的名称。随 ASP 提供的部分基本组件,如 ActiveX 数据对象 (ADO),定义了可在脚本中使用的常量。组件可以在“组件类型库”中声明常量,组件类型库是一个包含 COM 组件支持的对象和类型的信息的文件。一旦在 .asp 文件中声明了类型库,就可以在同一 .asp 文件的所有脚本中使用已定义的常量。类似地,可以在 Global.asa 文件中声明类型库,以便在应用程序的所有 .asp 文件中使用已定义的常量。

要声明类型库,可以在 .asp 文件或 Global.asa 文件中使用 标签。例如,要声明 ADO 类型库,可使用下面的语句:

<!--METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library" TYPE="TypeLib" UUID="{00000205-0000-0010-8000-00AA006D2EA4}"--&gt
或者,如果不参考类型库的通用唯一标识符 (UUID),也可通过文件路径参考类型库:

<!-- METADATA TYPE="typelib" FILE="c:program filescommon filessystemadomsado15.dll"--&gt
然后即可在 .asp 文件中使用 ADO 常量,该文件声明了类型库或者驻留在包含 Global.asa 文件(声明了 ADO 类型库)的应用程序中。在下面的例子中,adOpenKeyset 和 adLockOptimistic 是 ADO 常量:

'创建和打开 Recordset 对象。
Set rstCustomerList = Server.CreateObject("ADODB.Recordset")

rstCustomerList.ActiveConnection = cnnPubs
rstCustomerList.CursorType = adOpenKeyset
rstCustomerList.LockType = adLockOptimistic
%>
下表列出了常用的类型库和 UUID:

类型库 UUID
Microsoft ActiveX Data Objects 2.5 Library {00000205-0000-0010-8000-00AA006D2EA4}
Microsoft CDO 1.2 Library for Windows 2000 Server {0E064ADD-9D99-11D0-ABE5-00AA0064D470}
MSWC Advertisement Rotator Object Library {090ACFA1-1580-11D1-8AC0-00C0F00910F9}
MSWC IIS Log Object Library {B758F2F9-A3D6-11D1-8B9C-080009DCC2FA}

关于 标签的参考信息,请参阅 TypeLibrary 声明。

在以前版本的 ASP 中,部分组件提供在文件中常量定义,这些文件必须包含在使用这些常量的所有 ASP 文件中。虽然仍可以通过 #include 命令包含常量定义,但使用类型库更方便,也更容易升级脚本。在未来的 ASP 版本中,组件可能不提供常量定义文件。

注意 使用 标签(而不是“#include”命令)可以提高 Web 应用程序的性能。

可以定义自己的常量。在 VBScript 中,使用“Const”语句。在 JScript 中,可以使用“var”语句将常量值赋给变量。如果要在多个 .asp 文件中使用常量,则需要将定义放在单独文件中,并在所有使用该常量的 .asp 文件中包含这些定义。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-124389/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-124389/

【电力系统】单机无穷大电力系统短路故障暂态稳定Simulink仿真(带说明文档)内容概要:本文档围绕“单机无穷大电力系统短路故障暂态稳定Simulink仿真”展开,提供了完整的仿真模型与说明文档,重点研究电力系统在发生短路故障后的暂态稳定性问题。通过Simulink搭建单机无穷大系统模型,模拟不同类型的短路故障(如三相短路),分析系统在故障期间及切除后的动态响应,包括发电机子角度、速、电压功率等关键参数的变化,进而评估系统的暂态稳定能力。该仿真有助于理解电力系统稳定性机理,掌握暂态过程分析方法。; 适合人群:电气工程及相关专业的本科生、研究生,以及从事电力系统分析、运行与控制工作的科研人员工程师。; 使用场景及目标:①学习电力系统暂态稳定的基本概念与分析方法;②掌握利用Simulink进行电力系统建模与仿真的技能;③研究短路故障对系统稳定性的影响及提高稳定性的措施(如故障清除时间优化);④辅助课程设计、毕业设计或科研项目中的系统仿真验证。; 阅读建议:建议结合电力系统稳定性理论知识进行学习,先理解仿真模型各模块的功能与参数设置,再运行仿真并仔细分析输出结果,尝试改变故障类型或系统参数以观察其对稳定性的影响,从而深化对暂态稳定问题的理解。
本研究聚焦于运用MATLAB平台,将支持向量机(SVM)应用于数据预测任务,并引入粒子群优化(PSO)算法对模型的关键参数进行自动调优。该研究属于机器学习领域的典型实践,其核心在于利用SVM构建分类模型,同时借助PSO的全局搜索能力,高效确定SVM的最优超参数配置,从而显著增强模型的整体预测效能。 支持向量机作为一种经典的监督学习方法,其基本原理是通过在高维特征空间中构造一个具有最大间隔的决策边界,以实现对样本数据的分类或回归分析。该算法擅长处理小规模样本集、非线性关系以及高维度特征识别问题,其有效性源于通过核函数将原始数据映射至更高维的空间,使得原本复杂的分类问题变得线性可分。 粒子群优化算法是一种模拟鸟群社会行为的群体智能优化技术。在该算法框架下,每个潜在解被视作一个“粒子”,粒子群在解空间中协同搜索,通过不断迭代更新自身速度与位置,并参考个体历史最优解群体全局最优解的信息,逐步逼近问题的最优解。在本应用中,PSO被专门用于搜寻SVM中影响模型性能的两个关键参数——正则化参数C与核函数参数γ的最优组合。 项目所提供的实现代码涵盖了从数据加载、预处理(如标准化处理)、基础SVM模型构建到PSO优化流程的完整步骤。优化过程会针对不同的核函数(例如线性核、多项式核及径向基函数核等)进行参数寻优,并系统评估优化前后模型性能的差异。性能对比通常基于准确率、精确率、召回率及F1分数等多项分类指标展开,从而定量验证PSO算法在提升SVM模型分类能力方面的实际效果。 本研究通过一个具体的MATLAB实现案例,旨在演示如何将全局优化算法与机器学习模型相结合,以解决模型参数选择这一关键问题。通过此实践,研究者不仅能够深入理解SVM的工作原理,还能掌握利用智能优化技术提升模型泛化性能的有效方法,这对于机器学习在实际问题中的应用具有重要的参考价值。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值