找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 12938|回复: 4

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

[复制链接]
发表于 2023-4-29 23:23:00 | 显示全部楼层 |阅读模式
本帖最后由 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)
复制代码
以上没经过测试
 楼主| 发表于 2023-4-30 14:16:54 | 显示全部楼层
一些奇怪的特性也可以啦 比如msgbox会优先去一个对象能转换为字符串的值 而wscript.echo 不会
发表于 2023-4-30 18:04:55 | 显示全部楼层
 楼主| 发表于 2023-5-1 10:21:40 | 显示全部楼层
说个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()
复制代码
不报错
发表于 2023-6-1 21:45:03 | 显示全部楼层
adodb.recordset
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:05 , Processed in 0.009711 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表