|
楼主 |
发表于 2024-4-27 13:33
|
显示全部楼层
发个webview2的用法。前段时间不是有人要计算18的1000次方。js里面已经引入了BigInt数据类型,主要用于表示任意长度的整数。创建BigInt有两种方式:
1.在一个整数字面量后面添加一个字母n,如3141592653n。
2.使用BigInt()函数将普通整数值转换为BigInt类型,如BigInt(3141592653)。
现在我们用大整数类型来计算下18的1000次方结果:
Sub 大数求幂()
Dim xx As Object
Set xx = CreateObject("edge.LibWebview")
Do While Not xx.webviewready
DoEvents
Loop
xx.ExecScript ("let bigInt1=18n;let bigInt2=1000n;let result=(bigInt1**bigInt2).toString();")
CreateObject("wscript.shell").popup xx.jsProp("result"), , "18的1000次方计算结果:"
xx.CloseBrowserProcess
Set xx = Nothing
End Sub
运行结果:
还有vbscript里的正则表达式不支持正向后行断言(?<=),但现在的js是没有问题的。
Sub 正则()
Dim xx As Object, s$
s = "我们12abc"
Set xx = CreateObject("edge.LibWebview")
Do While Not xx.webviewready
DoEvents
Loop
xx.ExecScript ("let a=/(?<=们)\d+/.exec('" & s & "'),b=a.join();")
CreateObject("wscript.shell").popup xx.jsProp("b"), , "正则提取结果:"
xx.CloseBrowserProcess
Set xx = Nothing
End Sub
记住这是个浏览器控件,有document/window,可玩性很高。当然还有借助第三方js库,让这个控件的作用更有发挥的空间。这个我就不展开讲了,自由发挥。以后想到了我再回头补充。 |
|