源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Javascript与vbscript数据共享

  • 时间:2022-12-17 22:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Javascript与vbscript数据共享
如有纰漏之处,请指出,谢谢 1、普通全局变量 在browser里,引用一个全局变量,可以有很多方法,你可以直接引用该变量,也可以用window.variable来引用全局变量,原因是因为全局变量属于window的窗体,但是当每新开一个窗口,浏览器会自动清空先前已有变量(也就是说,每个新开页面都是一个“有清白之身的web页”,因此在新开的窗口里是不可以引用之前定义的变量,如果要引用,可以变向获取,如通过URL的参数传递等方法来获取,但这是后话了)如: <script> var global = "this is a global var." </script> <SCRIPT LANGUAGE="vbScript"> <!-- alert(window.global) alert(global) //--> </SCRIPT> 输出结果: this is a global var. this is a global var. 2、vbs引用js的对象(非原型prototype对象)、函数 可直接引用:即对象名.属性名 <SCRIPT LANGUAGE="JavaScript"> <!-- function obj(){}; obj.string="test"; obj.replacec=function(s){return s.replace(/c/,"")}; //--> </SCRIPT> <SCRIPT LANGUAGE="vbScript"> <!-- alert(obj.string) obj.string="change" alert(obj.string) alert(obj.replacec(obj.string)) //--> </SCRIPT> 输出结果: change hange 当js是prototype型时,vbs可以用以下方法来访问js的成员 <SCRIPT LANGUAGE="JavaScript"> <!-- function myClass(s) {  this.s=s  return this; }; myClass.prototype.output=function() {  alert(this.s); } var obj=new myClass("blueDestiny"); //--> </SCRIPT> <SCRIPT LANGUAGE="vbScript"> <!-- obj.output() //--> </SCRIPT> 3、js里调用vbs里的class,可先在vbs里先生成一个实例,js可以通过这个实例来访问vbs的成员。 <SCRIPT LANGUAGE="vbScript"> <!-- class myClass  public s  public sub alertstring()  alert(s)  end sub end class set obj=new myClass //--> </SCRIPT> <SCRIPT LANGUAGE="JavaScript"> <!-- obj.s="blueDestiny" obj.alertstring() //--> </SCRIPT> 输出结果: blueDestiny 4、js调用vbs定义的数组问题,可直接得用下标来获得第几个元素的值。 <SCRIPT LANGUAGE="vbScript"> dim a(2) a(0)="blue" a(1)="destiny" </script> <script> <!-- alert(a(0)) alert(a(1)) //--> </SCRIPT> 输出结果: blue destiny 但是,如何将vbs的数组转换成js的数组呢?可以利用js的VBArray()对象,以及toArray()方法,值得注意的是,toArray()方法得出的是一个一维数组: <SCRIPT LANGUAGE="VBScript"> <!-- 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("<BR>")  Next  CreateVBArray = a End Function --> </SCRIPT> <SCRIPT LANGUAGE="JScript"> <!-- 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()); --> </SCRIPT> 输出结果: 1 2 3  4 5 6  7 8 9  1 2 3 4 5 6 7 8 9  5、js数组转化为vbs数组: 得到js的数组长度,可直接用length属性获得 <SCRIPT LANGUAGE="JavaScript"> <!-- var arr=["blue","Destiny"]; //--> </SCRIPT> <SCRIPT LANGUAGE="vbScript"> <!-- alert(arr.length) //--> </SCRIPT> 输出结果: 2 如果要通过下标访问js的数组元素,将无法获取,但可通过现有的方法:join()(js里的方法)以及Split() <SCRIPT LANGUAGE="vbScript"> <!-- '注:这里不可用vbs的join(arr,",")方法,实际上这里所用到的是js里的join方法,并且为vbs的 vbarr=arr.join(",") vbarr=split(vbarr,",") alert(vbarr(0)) alert(vbarr(1)) //--> </SCRIPT> 输出结果 blue Destiny
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部