本帖最后由 liu-aguang 于 2016-10-29 09:04 编辑
例4.1 Sub a() Set oDom =CreateObject("htmlfile") Set oWindow =oDom.parentWindow oWindow.execScript "function a(){var s=5+6;return s}" MsgBox oWindow.eval("a()") End Sub
例4.2 Sub a1() Set oDom =CreateObject("htmlfile") Set oWindow = oDom.parentWindow oDom.write "<script>function a(){var s=5+6;return s}</script>" MsgBox oWindow.eval("a()") End Sub
例4.3 Sub a3() b1 = 5 b2 = 6 Set oDom =CreateObject("htmlfile") Set oWindow = oDom.parentWindow oWindow.execScript "function a(x,y){s=x+y;return s}" MsgBox oWindow.eval("a(" & b1& "," & b2 & ")") ‘就是执行函数a(b1,b2) End Sub
5. JavaScript的数组和对象
(永远记住----JavaScript内,变量名/函数名/关键字是大小写敏感的!!!!) 在网页解析中,经常用到的基本上就是数组和对象这两个概念.
A. 数组: 定义数组a: var a=[‘a’,’b’,’c’,1,2,3] 定义空数组a: var a=[] 说明: (1)方括号; (2)元素间逗号分隔; (3)字符串用单(或双)引号;(4)var是变量类型,可省略的. 读取数组: (1) 索引法: 如读第一个元素a[0]; 索引号从0开始. (2) 遍历法: for(k in a){….} (3) 数组长度: a.length
例5.1 索引法 Sub jArr1() Set oDom =CreateObject("HTMLFILE") Set oWindow = oDom.parentWindow oWindow.execScript"a=['a','b','c',1,2,3];" MsgBox oWindow.eval("a[0]") MsgBox oWindow.eval("a.length") End Sub
例5.2 遍历法 Sub jArr2() Set oDom =CreateObject("HTMLFILE") Set oWindow = oDom.parentWindow oWindow.execScript"a=['a','b','c',1,2,3];" MsgBox oWindow.eval("s='';for(k in a){s=s+' ' +a[k];};s") End Sub 说明: (1) JavaScript定义字符时,要用单(或双)引号围起来.如s=’中国’;s=’’ (定义空字符) (2) 遍历数组a时,k值是索引号,所以真正的值是a[k]; (3) “+”号对数字来说是算术加;对字符来说是连接符; (4) 语句间要用分号隔开; (5) 当有多个变量时Eval永远返回的是最后语句的值. (6) 请留意for的句式。
|