[发明专利]JavaScript脚本执行方法、装置、电子设备及存储介质在审
申请号: | 202111274831.4 | 申请日: | 2021-10-29 |
公开(公告)号: | CN113986404A | 公开(公告)日: | 2022-01-28 |
发明(设计)人: | 柏跃;陈宇文;严振玲 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 刘乐 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | javascript 脚本 执行 方法 装置 电子设备 存储 介质 | ||
本发明提供一种JavaScript脚本执行方法、装置、电子设备及存储介质,在系统启动或初始化时对程序配置中的JavaScript表达式脚本进行加载后,转换为相应的JavaScript函数,并编译在脚本引擎中。后续在系统运行处理交易时,如果需要执行目标JavaScript表达式脚本,则只需要上下文对象作为函数参数调用脚本引擎执行其对应的已编译的JavaScript函数即可,从而避免了每次脚本执行时都需要解析处理,减少了脚本处理时间,提高了交易处理效率。
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种JavaScript脚本执行方法、装置、电子设备及存储介质。
背景技术
在Java程序开发中,常常需要在程序配置(文件或其它持久化介质)中进行一些脚本表达式的配置,然后在程序执行时运算该表达式的值,根据运算值的结果进行后续处理。由于JavaScript语法丰富灵活,用它来编写表达式脚本十分方便。
但是JavaScript脚本语言需要先解析后才能执行,所以JavaScript的执行速度慢是一个亟需解决的问题。
发明内容
有鉴于此,为解决上述问题,本发明提供一种JavaScript脚本执行方法、装置、电子设备及存储介质,技术方案如下:
本发明一方面提供一种JavaScript脚本执行方法,所述方法包括:
从程序配置中加载预配置的JavaScript表达式脚本;
将所述JavaScript表达式脚本转换为JavaScript函数;
获取脚本引擎,并在所述脚本引擎中编译所述JavaScript函数;
针对目标JavaScript表达式脚本,通过所述脚本引擎执行所述目标JavaScript表达式脚本对应的已编译的JavaScript函数得到相应的计算值。
优选的,所述从程序配置中加载预配置的JavaScript表达式脚本,包括:
根据所述程序配置的介质类型加载所述JavaScript表达式脚本。
优选的,所述将所述JavaScript表达式脚本转换为JavaScript函数,包括:
为所述JavaScript表达式脚本创建全局唯一的函数名称;
确定所述JavaScript表达式脚本对应的return语句;
确定用于变量引用的参数,根据所述函数名称、所述return语句和所述参数构造所述JavaScript表达式脚本对应的JavaScript函数。
优选的,所述在所述脚本引擎中编译所述JavaScript函数,包括:
将所述脚本引擎转换为编译对象;
执行所述编译对象对应的方法得到相应的编译脚本对象;
执行所述编译脚本对象对应的方法,将所述JavaScript函数加载至所述脚本引擎中。
优选的,所述通过所述脚本引擎执行所述目标JavaScript表达式脚本对应的已编译的JavaScript函数得到相应的计算值,包括:
将所述脚本引擎转换为执行对象;
调用所述执行对象的方法执行所述目标JavaScript表达式脚本对应的已编译的JavaScript函数,得到相应的计算值。
本发明另一方面提供一种JavaScript脚本执行装置,所述装置包括:脚本加载模块,用于从程序配置中加载预配置的JavaScript表达式脚本;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111274831.4/2.html,转载请声明来源钻瓜专利网。