Board logo

标题: [技术讨论] 求一些vbs的冷门用法 [打印本页]

作者: jyswjjgdwtdtj    时间: 2023-4-29 23:23     标题: 求一些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)
复制代码
以上没经过测试
作者: jyswjjgdwtdtj    时间: 2023-4-30 14:16

一些奇怪的特性也可以啦 比如msgbox会优先去一个对象能转换为字符串的值 而wscript.echo 不会
作者: 老刘1号    时间: 2023-4-30 18:04

不妨来玩这个:http://www.bathome.net/thread-63315-1-1.html
作者: jyswjjgdwtdtj    时间: 2023-5-1 10:21

说个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()
复制代码
不报错
作者: 老刘1号    时间: 2023-6-1 21:45

adodb.recordset




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2