前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VFP中超爽运行JS代码

VFP中超爽运行JS代码

作者头像
加菲猫的VFP
发布2021-08-16 14:59:23
1.1K0
发布2021-08-16 14:59:23
举报
文章被收录于专栏:加菲猫的VFP

当加菲猫没说过

在我们的Windows系统里提供了一个叫ScriptControl的com组件,我们可以用这个组件来调用JS等脚本语言的资源。

有些库我们VFP没有的话,JS有的话,我们就可以大量运用了哦。

1 用Eval()来实现表达式的计算

代码语言:javascript
复制
oJs=Createobject("ScriptControl")
oJs.Language="JavaScript"
?oJs.eval("100+5*3")

2 调用JS内置函数,示例汉字编码

代码语言:javascript
复制
oJs=Createobject("ScriptControl")
oJs.Language="JavaScript"
cWords="汉字"
?ojs.Eval('escape("'+cWords+'")')

传参用拼接的比较累就是了

03

3 调用自定义函数 注意JS的小大写

代码语言:javascript
复制
TEXT TO lcJs TEXTMERGE PRETEXT 1+2 NOSHOW
function xx1 (x,y){
 return x+y;
}
ENDTEXT
oJs=Createobject("ScriptControl")
oJs.Language="JavaScript"
oJs.AddCode(lcJs)
?oJs.Eval("xx1("+'1,2'+")")

也可以用run来调用,更爽一点

代码语言:javascript
复制
TEXT TO lcJs TEXTMERGE PRETEXT 1+2 NOSHOW
function xx1 (x,y){
 return x+y;
}
ENDTEXT
oJs=Createobject("ScriptControl")
oJs.Language="JavaScript"
oJs.AddCode(lcJs)
?oJs.run("xx1",1,2)

只要是添加到Script 控件的函数是完整的,Run 方法就可以运行。

那不完整的片段,我们怎么办呢?

下面就可以用 ExecuteStatement 方法将值 100 赋给变量 x。下面的两行用 eval 方法来测试语句 x = 100 和 x = 100/2。第二行返回 .T.;而第三行则返回 .F.。

代码语言:javascript
复制
oJs=Createobject("ScriptControl")

oJs.Language="JavaScript"
oJs.ExecuteStatement("x = 0/100")
?oJs.Eval("x == 100") && 返回 .T.
?oJs.Eval("x == 100/2") && 返回 .F.
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加菲猫的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 用Eval()来实现表达式的计算
  • 2 调用JS内置函数,示例汉字编码
  • 3 调用自定义函数 注意JS的小大写
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档