当前位置: 首页 > 编程笔记 >

JS使用eval()动态创建变量的方法

景俊语
2023-03-14
本文向大家介绍JS使用eval()动态创建变量的方法,包括了JS使用eval()动态创建变量的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了JS使用eval()动态创建变量的方法。分享给大家供大家参考,具体如下:

一、什么是eval()函数?

eval_r()函数可计算某个字符串,并执行其中的的 JavaScript 代码。

二、如何动态定义变量?

既然eval()能够计算字符串,何不将定义变量的写法转换为字符串,然后放入eval_r()函数内进行执行,形如:

var defineStr = "var number_"+i.toString();
eval_r(defineStr);

这样就定义了一个变量,你可以设置debugger 跟踪调试一下看看number变量是否定义成功。

倘若i值为1,那么动态的变量就为number_1

后续一样可以通过这种形式为其赋值:

eval_r("number_"+i.toString()+" = 120;");

这样就为其变量number_1赋值为120了。

但是这里绝对不能够这样去写:

eval_r("number_"+i.toString()) = 120

这样写是存在于法错误的。

以上这种写法在IE内却有些行不通,得需要使用executeScript(string)来执行,判断如下:

if(window.executeScript)
{
//IE浏览器
window.executeScript(defineStr);
}else
{
//Chrome、Firefox等非IE浏览器
window.eval_r(defineStr);
}

更多关于JavaScript相关内容可查看本站专题:《JavaScript中ajax操作技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

 类似资料:
  • 表名,excel文件路径,excel文件名是动态的(它是基于用户输入的)。我是SSIS的新手,我只使用过静态值。如何在SSIS中实现上述场景?

  • 问题内容: 我有一个html表,可将mySQL数据库表中的所有内容加载。我有与该mySQL表的列相关的下拉菜单-当用户选择下拉菜单之一时,它将使用AJAX查询数据库。 我需要弄清楚如何动态构建查询,因为有时下拉列表将为空(即,它们不想按该列进行过滤)。 做这个的最好方式是什么? 目前我有这样的事情: 您可以想象这是行不通的,因为如果这些字段中的任何一个为空,查询都会失败(或者不返回任何内容)。 显

  • 问题内容: 我想使用变量名创建备份SQL表。 类似于 但是我越来越 ‘@SQLTable’附近的语法不正确。 这只是用于维护的小脚本的一部分,因此我不必担心注射。 问题答案:

  • 本文向大家介绍JS动态创建DOM元素的方法,包括了JS动态创建DOM元素的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS动态创建DOM元素的方法。分享给大家供大家参考。具体如下: 近日,因工作需要,需要通过点击某个元素后, 动态创建一个DOM元素并显示,因此写了一些相关的JS函数,在此记录,以作备忘: 使用示例: 希望本文所述对大家的javascript程序设计有所帮助。

  • 问题内容: 我有一个关于反射的问题,我正在尝试使用某种eval()方法。所以我可以打电话给: 现在,我了解到java中没有eval方法,但存在反射。我做了以下代码: 这非常有效(当然,此代码周围有一个try,catch块)。它运行测试方法。但是,我想调用多个都有不同参数的方法。 我不知道这些是什么参数(不仅是String.class)。但这怎么可能呢?如何获得方法的参数类型?我知道以下方法: 但这

  • 本文向大家介绍js动态创建及移除div的方法,包括了js动态创建及移除div的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js动态创建及移除div的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。