首页 web前端 js教程 Javascript与vbscript数据共享_javascript技巧

Javascript与vbscript数据共享_javascript技巧

May 16, 2016 pm 07:21 PM

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

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

输出结果:
this is a global var.
this is a global var.

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

<script> <BR><!-- <BR>function obj(){}; <BR>obj.string="test"; <BR>obj.replacec=function(s){return s.replace(/c/,"")}; <BR>//--> <BR></script>
<script> <BR><!-- <BR>alert(obj.string) <BR>obj.string="change" <BR>alert(obj.string) <BR>alert(obj.replacec(obj.string)) <BR>//--> <BR></script>

输出结果:
change
hange

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

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

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

<script> <BR><!-- <BR>class myClass <BR> public s <BR> public sub alertstring() <BR> alert(s) <BR> end sub <BR>end class <BR>set obj=new myClass <BR>//--> <BR></script>
<script> <BR><!-- <BR>obj.s="blueDestiny" <BR>obj.alertstring() <BR>//--> <BR></script>
输出结果:
blueDestiny

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

<script> <BR>dim a(2) <BR>a(0)="blue" <BR>a(1)="destiny" <BR></script>

<script> <BR><!-- <BR>alert(a(0)) <BR>alert(a(1)) <BR>//--> <BR></script>
输出结果:
blue
destiny

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

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

<script> <BR><!-- <BR>function VBArrayTest(vbarray) <BR>{ <BR> //调用VBArray()对象,将vbs数组转化为js的数组并调用toArray()方法得到一维数组。 <BR> var a = new VBArray(vbarray); <BR> var b = a.toArray(); <BR> var i; <BR> for (i = 0; i < 9; i++) <BR> { <BR> document.writeln(b[i]); <BR> } <br><br>} <BR>VBArrayTest(CreateVBArray()); <BR>--> <BR></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> <BR><!-- <BR>var arr=["blue","Destiny"]; <BR>//--> <BR></script>
<script> <BR><!-- <BR>alert(arr.length) <BR>//--> <BR></script>

输出结果:
2

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

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

输出结果
blue
Destiny

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

在JavaScript中替换字符串字符 在JavaScript中替换字符串字符 Mar 11, 2025 am 12:07 AM

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

8令人惊叹的jQuery页面布局插件 8令人惊叹的jQuery页面布局插件 Mar 06, 2025 am 12:48 AM

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

构建您自己的Ajax Web应用程序 构建您自己的Ajax Web应用程序 Mar 09, 2025 am 12:11 AM

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

10个JQuery Fun and Games插件 10个JQuery Fun and Games插件 Mar 08, 2025 am 12:42 AM

10款趣味横生的jQuery游戏插件,让您的网站更具吸引力,提升用户粘性!虽然Flash仍然是开发休闲网页游戏的最佳软件,但jQuery也能创造出令人惊喜的效果,虽然无法与纯动作Flash游戏媲美,但在某些情况下,您也能在浏览器中获得意想不到的乐趣。 jQuery井字棋游戏 游戏编程的“Hello world”,现在有了jQuery版本。 源码 jQuery疯狂填词游戏 这是一个填空游戏,由于不知道单词的上下文,可能会产生一些古怪的结果。 源码 jQuery扫雷游戏

如何创建和发布自己的JavaScript库? 如何创建和发布自己的JavaScript库? Mar 18, 2025 pm 03:12 PM

文章讨论了创建,发布和维护JavaScript库,专注于计划,开发,测试,文档和促销策略。

jQuery视差教程 - 动画标题背景 jQuery视差教程 - 动画标题背景 Mar 08, 2025 am 12:39 AM

本教程演示了如何使用jQuery创建迷人的视差背景效果。 我们将构建一个带有分层图像的标题横幅,从而创造出令人惊叹的视觉深度。 更新的插件可与JQuery 1.6.4及更高版本一起使用。 下载

使用AJAX动态加载盒内容 使用AJAX动态加载盒内容 Mar 06, 2025 am 01:07 AM

本教程演示了创建通过Ajax加载的动态页面框,从而可以即时刷新,而无需全页重新加载。 它利用jQuery和JavaScript。将其视为自定义的Facebook式内容框加载程序。 关键概念: Ajax和JQuery

如何为JavaScript编写无曲奇会话库 如何为JavaScript编写无曲奇会话库 Mar 06, 2025 am 01:18 AM

此JavaScript库利用窗口。名称属性可以管理会话数据,而无需依赖cookie。 它为浏览器中存储和检索会话变量提供了强大的解决方案。 库提供了三种核心方法:会话

See all articles