Lodop的传统模版是JS语句,如果储存的这种JS模版,可用javascript的eval()方法获取,该方法属于JS的范畴,并不是lodop语句,由于这个方法很多程序员可能不常用,对于这个JS方法不是特别了解,这里介绍一下这个JS方法。

JavaScript eval() 函数
语法:
eval(string)
描述:
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

就是该方法参数的字符串会当作JS代码对待,会执行里面的JS代码,由于Lodop传统JS模版都是JS语句,把模版当作字符串存入数据,再调取这个字符串,就可以用eval方法执行Lodop的模版代码。

eval可把传入的字符串当作JS来执行,随便写了几个方法,测试代码 :
1.在eval里传入字符串参数,是document.write。
2.在eval里传入参数,参数本身带eval,用document.write执行里面的JS,里面的JS里用eval执行文本框里的JS语句的字符串数据。
3.用eval执行文本框中的JS代码,然后赋值给该文本框。
4.给z赋初始值,用eval执行一个字符串,该字符串有给z重新赋值的语句,执行该eval后可以弹出新值。

效果描述:
1.在页面输出10乘以20的结果。
2.在页面输出文本框里输入的表达式的结果。
3.文本框里输出 该文本框输入的表达式的结果。
3.弹出z的初始值,然后弹出z经过eval的参数d字符串里的JS赋值语句,给z重新赋值。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<p><textarea rows="12" id="S1" cols="107" ></textarea><br>
<a href="javascript:F1()">计算10和20乘起来的值,输出到页面</a><br>
<a href="javascript:F2()">计算文本框表达式的值,输出到页面</a><br>
<a href="javascript:F3()">计算文本框表达式的值,输出到原文本框里</a><br>
<a href="javascript:F4()">z在执行的eval字符串中赋值,执行eval后弹出新赋的值</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function F1() {
eval("document.write(10*20)");
};
function F2() {
eval("document.write(eval(document.getElementById('S1').value))");
};
function F3() {
eval("document.getElementById('S1').value=eval(document.getElementById('S1').value)");
};
function F4() {
var x=10;y=2;z=0;
var d="z=x+y;";
alert(z);//只给z赋了初始值0,没有再赋值,弹出初始值
eval(d);//用eval执行d字符串,该字符串里含有给z赋新值的语句
alert(z);//弹出的是在eval中新赋的值
};
</script>
</body>

图示:

关于使用JS里的这个eval方法加载Lodop传统模版,可查看参考本博客另一篇博文:
(其实原理是一样的,lodop语句本来就是JS代码。)

JS-JAVASCRIPT的eval()方法的更多相关文章

  1. Javascript替代eval方法

    Javascript替代eval方法 通常我们在使用ajax获取到后台返回的json数据时,都要使用 eval 这个方法将json字符串转换成对象数组, 像这样: obj = eval('('+dat ...

  2. 常见JS(JavaScript)冲突解决方法

    1.一般JS冲突解决办法 a.最容易出现的就是js的命名冲突 ①.变量名冲突 变量有全局变量和局部变量当全局变量变量和局部变量名称一致时,就会js冲突,由于变量传递数值或地址不同就会产生JavaScr ...

  3. javaScript中eval()方法转换json对象

    <script language="javascript"> var user = '{name:"张三",age:23,'+ 'address:{ ...

  4. javaScript中用eval()方法转换json对象

    var u = eval('('+user+')'); 1.对于服务器返回的JSON字符串,如果jQuery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将 ...

  5. js中的eval方法

    eval(string) eval函数接收一个参数string,如果string不是字符串,则直接返回string.否则执行string语句.如果string语句执行结果是一个值,则返回此值,否则返回 ...

  6. js中的eval方法转换对象时,为何一定要加上括号?

    待转换的是一个Json字符串: {'name':'新欢'} 而使用如下这种方式调用则会抛出语法异常, eval("{'name':'新欢'}"); 必须加上括号才行 eval(&q ...

  7. js混淆、eval解密

    js中的eval()方法就是一个js语言的执行器,它能把其中的参数按照JavaScript语法进行解析并执行,简单来说就是把原本的js代码变成了eval的参数,变成参数后代码就成了字符串,其中的一些字 ...

  8. js 的eval()方法 计算某个字符串,并执行其中的的 JavaScript 代码;

    定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 Java ...

  9. 用Java开发一个工具类,提供似于js中eval函数功能的eval方法

    今天在看到<Java疯狂讲义>中一个章节习题: 开发一个工具类,该工具类提供一个eval()方法,实现JavaScript中eval()函数的功能--可以动态运行一行或多行程序代码.例如: ...

随机推荐

  1. 弹框在UC浏览器或者Android机器上会被顶上去

    弹框在UC浏览器或者Android机器上会被顶上去 可以通过监听resize事件 this.height = $(document).height(); window.addEventListener ...

  2. Easyui 修改jquery validatebox为英文校验提示为中文提示

    修改jquery validatebox为英文校验提示为中文提示 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 问题描述: 如图,想把校验提示由英文改成中文 ...

  3. 从零学习Fluter(四):Flutter中ListView组件系列详展

    今天继续研究了一些Flutter,主要时关于ListVIew那一块的东西,有 SingleChildScrollViewListViewGridViewCustomScrollView 感觉Flutt ...

  4. Android系统的三种分屏显示模式

    Google在Android 7.0中引入了一个新特性——多窗口支持,允许用户一次在屏幕上打开两个应用.在手持设备上,两个应用可以在"分屏"模式中左右并排或上下并排显示.在电视设备 ...

  5. Android远程桌面助手(Build 0787)

    Android远程桌面助手(Build 0787) 新增: 增加了输入法的快速切换功能,支持通过Google拼音输入法在PC端快速输入中文: 增加了Broadcast的暂停和继续功能: 某些应用截屏失 ...

  6. Maven替换为国内仓库

    <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name&g ...

  7. .net DLL版本管理

    每个DLL打上版本号,方便识别维护

  8. Springboot配置文件解析器

    @EnableScheduling @MapperScan(value = "com.****.dao") @EnableTransactionManagement @Enable ...

  9. 爬虫系列二(数据清洗--->bs4解析数据)

    一 BeautifulSoup解析 1 环境安装 - 需要将pip源设置为国内源,阿里源.豆瓣源.网易源等 - windows (1)打开文件资源管理器(文件夹地址栏中) (2)地址栏上面输入 %ap ...

  10. Navicat Premium 12.0.18安装与激活

    因为要学习测试,postgresql , 没弄过所以用这个软件... https://www.jianshu.com/p/42a33b0dda9c