时间:2021-05-26
如有纰漏之处,请指出,谢谢
1、普通全局变量
在browser里,引用一个全局变量,可以有很多方法,你可以直接引用该变量,也可以用window.variable来引用全局变量,原因是因为全局变量属于window的窗体,但是当每新开一个窗口,浏览器会自动清空先前已有变量(也就是说,每个新开页面都是一个“有清白之身的web页”,因此在新开的窗口里是不可以引用之前定义的变量,如果要引用,可以变向获取,如通过URL的参数传递等方法来获取,但这是后话了)如:
<script>
varglobal="thisisaglobalvar."
</script>
<SCRIPTLANGUAGE="vbScript">
<!--
alert(window.global)
alert(global)
//-->
</SCRIPT>
输出结果:
thisisaglobalvar.
thisisaglobalvar.
2、vbs引用js的对象(非原型prototype对象)、函数
可直接引用:即对象名.属性名
<SCRIPTLANGUAGE="JavaScript">
<!--
functionobj(){};
obj.string="test";
obj.replacec=function(s){returns.replace(/c/,"")};
//-->
</SCRIPT>
<SCRIPTLANGUAGE="vbScript">
<!--
alert(obj.string)
obj.string="change"
alert(obj.string)
alert(obj.replacec(obj.string))
//-->
</SCRIPT>
输出结果:
change
hange
当js是prototype型时,vbs可以用以下方法来访问js的成员
<SCRIPTLANGUAGE="JavaScript">
<!--
functionmyClass(s)
{
this.s=s
returnthis;
};
myClass.prototype.output=function()
{
alert(this.s);
}
varobj=newmyClass("blueDestiny");
//-->
</SCRIPT>
<SCRIPTLANGUAGE="vbScript">
<!--
obj.output()
//-->
</SCRIPT>
3、js里调用vbs里的class,可先在vbs里先生成一个实例,js可以通过这个实例来访问vbs的成员。
<SCRIPTLANGUAGE="vbScript">
<!--
classmyClass
publics
publicsubalertstring()
alert(s)
endsub
endclass
setobj=newmyClass
//-->
</SCRIPT>
<SCRIPTLANGUAGE="JavaScript">
<!--
obj.s="blueDestiny"
obj.alertstring()
//-->
</SCRIPT>
输出结果:
blueDestiny
4、js调用vbs定义的数组问题,可直接得用下标来获得第几个元素的值。
<SCRIPTLANGUAGE="vbScript">
dima(2)
a(0)="blue"
a(1)="destiny"
</script>
<script>
<!--
alert(a(0))
alert(a(1))
//-->
</SCRIPT>
输出结果:
blue
destiny
但是,如何将vbs的数组转换成js的数组呢?可以利用js的VBArray()对象,以及toArray()方法,值得注意的是,toArray()方法得出的是一个一维数组:
<SCRIPTLANGUAGE="VBScript">
<!--
FunctionCreateVBArray()
Dimi,j,k
Dima(2,2)
'初始化二维数组
k=1
Fori=0To2
Forj=0To2
a(j,i)=k
document.writeln(k)
k=k+1
Next
document.writeln("<BR>")
Next
CreateVBArray=a
EndFunction
-->
</SCRIPT>
<SCRIPTLANGUAGE="JScript">
<!--
functionVBArrayTest(vbarray)
{
//调用VBArray()对象,将vbs数组转化为js的数组并调用toArray()方法得到一维数组。
vara=newVBArray(vbarray);
varb=a.toArray();
vari;
for(i=0;i<9;i++)
{
document.writeln(b[i]);
}
}
VBArrayTest(CreateVBArray());
-->
</SCRIPT>
输出结果:
123
456
789
123456789
5、js数组转化为vbs数组:
得到js的数组长度,可直接用length属性获得
<SCRIPTLANGUAGE="JavaScript">
<!--
vararr=["blue","Destiny"];
//-->
</SCRIPT>
<SCRIPTLANGUAGE="vbScript">
<!--
alert(arr.length)
//-->
</SCRIPT>
输出结果:
2
如果要通过下标访问js的数组元素,将无法获取,但可通过现有的方法:join()(js里的方法)以及Split()
<SCRIPTLANGUAGE="vbScript">
<!--
'注:这里不可用vbs的join(arr,",")方法,实际上这里所用到的是js里的join方法,并且为vbs的
vbarr=arr.join(",")
vbarr=split(vbarr,",")
alert(vbarr(0))
alert(vbarr(1))
//-->
</SCRIPT>
输出结果
blue
Destiny
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
XmlHttp是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API。XmlHt
数组都是从0开始。javascript是arrayname[i],而vbscript是arrayname(i)。 javascript的字符串还是从0开始
数组都是从0开始。javascript是arrayname[i],而vbscript是arrayname(i)javascript的字符串还是从0开始,比如取第
复制代码代码如下:/*Javascript中暂停功能的实现Javascript本身没有暂停功能(sleep不能使用)同时vbscript也不能使用doEvent
VBScript数据类型VBScript只有一种数据类型,称为Variant。Variant是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为