最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Javascript与vbscript数据共享_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 20:34:25
文档

Javascript与vbscript数据共享_javascript技巧

Javascript与vbscript数据共享_javascript技巧:如有纰漏之处,请指出,谢谢 1、普通全局变量 在browser里,引用一个全局变量,可以有很多方法,你可以直接引用该变量,也可以用window.variable来引用全局变量,原因是因为全局变量属于window的窗体,但是当每新开一个窗口,浏览器会自动清空先前已有变量(
推荐度:
导读Javascript与vbscript数据共享_javascript技巧:如有纰漏之处,请指出,谢谢 1、普通全局变量 在browser里,引用一个全局变量,可以有很多方法,你可以直接引用该变量,也可以用window.variable来引用全局变量,原因是因为全局变量属于window的窗体,但是当每新开一个窗口,浏览器会自动清空先前已有变量(


如有纰漏之处,请指出,谢谢

1、普通全局变量
在browser里,引用一个全局变量,可以有很多方法,你可以直接引用该变量,也可以用window.variable来引用全局变量,原因是因为全局变量属于window的窗体,但是当每新开一个窗口,浏览器会自动清空先前已有变量(也就是说,每个新开页面都是一个“有清白之身的web页”,因此在新开的窗口里是不可以引用之前定义的变量,如果要引用,可以变向获取,如通过URL的参数传递等方法来获取,但这是后话了)如:
输出结果:
this is a global var.
this is a global var.

2、vbs引用js的对象(非原型prototype对象)、函数
可直接引用:即对象名.属性名


function obj(){};
obj.string="test";
obj.replacec=function(s){return s.replace(/c/,"")};
//-->


alert(obj.string)
obj.string="change"
alert(obj.string)
alert(obj.replacec(obj.string))
//-->

输出结果:
change
hange

当js是prototype型时,vbs可以用以下方法来访问js的成员


function myClass(s)
{
this.s=s
return this;
};
myClass.prototype.output=function()
{
alert(this.s);
}
var obj=new myClass("blueDestiny");
//-->


obj.output()
//-->

3、js里调用vbs里的class,可先在vbs里先生成一个实例,js可以通过这个实例来访问vbs的成员。


class myClass
public s
public sub alertstring()
alert(s)
end sub
end class
set obj=new myClass
//-->


obj.s="blueDestiny"
obj.alertstring()
//-->

输出结果:
blueDestiny

4、js调用vbs定义的数组问题,可直接得用下标来获得第几个元素的值。


dim a(2)
a(0)="blue"
a(1)="destiny"

输出结果:
blue
destiny

但是,如何将vbs的数组转换成js的数组呢?可以利用js的VBArray()对象,以及toArray()方法,值得注意的是,toArray()方法得出的是一个一维数组:


Function CreateVBArray()
Dim i, j, k
Dim a(2, 2)
'初始化二维数组
k = 1
For i = 0 To 2
For j = 0 To 2
a(j, i) = k
document.writeln(k)
k = k + 1
Next
document.writeln("
")
Next
CreateVBArray = a
End Function
-->


function VBArrayTest(vbarray)
{
//调用VBArray()对象,将vbs数组转化为js的数组并调用toArray()方法得到一维数组。
var a = new VBArray(vbarray);
var b = a.toArray();
var i;
for (i = 0; i < 9; i++)
{
document.writeln(b[i]);
}

}
VBArrayTest(CreateVBArray());
-->

输出结果:
1 2 3
4 5 6
7 8 9
1 2 3 4 5 6 7 8 9

5、js数组转化为vbs数组:
得到js的数组长度,可直接用length属性获得


var arr=["blue","Destiny"];
//-->


alert(arr.length)
//-->

输出结果:
2

如果要通过下标访问js的数组元素,将无法获取,但可通过现有的方法:join()(js里的方法)以及Split()


'注:这里不可用vbs的join(arr,",")方法,实际上这里所用到的是js里的join方法,并且为vbs的
vbarr=arr.join(",")
vbarr=split(vbarr,",")
alert(vbarr(0))
alert(vbarr(1))
//-->

输出结果
blue
Destiny

文档

Javascript与vbscript数据共享_javascript技巧

Javascript与vbscript数据共享_javascript技巧:如有纰漏之处,请指出,谢谢 1、普通全局变量 在browser里,引用一个全局变量,可以有很多方法,你可以直接引用该变量,也可以用window.variable来引用全局变量,原因是因为全局变量属于window的窗体,但是当每新开一个窗口,浏览器会自动清空先前已有变量(
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top