Javascript与vbscript数据共享_javascript技巧
如有纰漏之处,请指出,谢谢
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

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

このチュートリアルでは、カスタムGoogle検索APIをブログまたはWebサイトに統合する方法を示し、標準のWordPressテーマ検索関数よりも洗練された検索エクスペリエンスを提供します。 驚くほど簡単です!検索をyに制限することができます

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

コアポイント これは通常、メソッドを「所有」するオブジェクトを指しますが、関数がどのように呼び出されるかに依存します。 現在のオブジェクトがない場合、これはグローバルオブジェクトを指します。 Webブラウザでは、ウィンドウで表されます。 関数を呼び出すと、これはグローバルオブジェクトを維持しますが、オブジェクトコンストラクターまたはそのメソッドを呼び出すとき、これはオブジェクトのインスタンスを指します。 call()、apply()、bind()などのメソッドを使用して、このコンテキストを変更できます。これらのメソッドは、与えられたこの値とパラメーターを使用して関数を呼び出します。 JavaScriptは優れたプログラミング言語です。数年前、この文はそうでした

この投稿は、Android、BlackBerry、およびiPhoneアプリ開発用の有用なチートシート、リファレンスガイド、クイックレシピ、コードスニペットをコンパイルします。 開発者がいないべきではありません! タッチジェスチャーリファレンスガイド(PDF) Desigの貴重なリソース

jQueryは素晴らしいJavaScriptフレームワークです。ただし、他のライブラリと同様に、何が起こっているのかを発見するためにフードの下に入る必要がある場合があります。おそらく、バグをトレースしているか、jQueryが特定のUIをどのように達成するかに興味があるからです

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。
