[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[技术讨论] 求一些vbs的冷门用法

本帖最后由 jyswjjgdwtdtj 于 2023-4-29 23:47 编辑

单纯只是好奇而已 丰富一下“阅历”
提供个小小的例子(可能不冷门)吧
  1. class example
  2. private num
  3. private sub class_initialize
  4. num=1
  5. end sub
  6. public default function add()
  7. add=num
  8. num=num+1'才知道 vbs函数内返回返回值不会直接退出函数 而是继续执行到结尾 然后把与函数名相同的变量作为返回值返回
  9. end function
  10. end class
  11. set a=new example
  12. msgbox a()
  13. msgbox a
  14. '这么做可以拥有“函数”自己的变量 而且可以对函数进行传递 不用用那个神奇的getref了
  15. set b=a'b和a是同一个函数
  16. b=a'b是a的返回值
  17. function example fn(byval obj)
  18. '对于对象 不论byval byref 一律传址
  19. 或许可以作为“回调函数”?虽然作为一个不存在同步的语言回调函数啥用也没有……
  20. msgbox obj()
  21. end function
  22. examplefn (a)
复制代码
以上没经过测试

一些奇怪的特性也可以啦 比如msgbox会优先去一个对象能转换为字符串的值 而wscript.echo 不会

TOP

TOP

说个vbs很傻的一个地方
比如拿jquery举个例子
  1. javascript:
  2. $(".box").css("background","red").text(123123123).slideUp()
复制代码
原封不动改成vbs
  1. vbscript:
  2. $(".box").css("background","red").text(123123123).slideup()
复制代码
报错
  1. vbscript:
  2. $(".box").css "background","red" .text 123123123 .slideup
复制代码
报错
  1. vbscript:
  2. a=$(".box").css("background","red").text(123123123).slideup()
复制代码
不报错

TOP

adodb.recordset

TOP

返回列表