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


Posted in Javascript onJune 03, 2016

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
JQUERY CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 Javascript
Javascript 面向对象编程(一) 封装
Aug 28 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
Nov 01 Javascript
原生js仿淘宝网商品放大镜效果
Feb 28 Javascript
Bootstrap fileinput组件封装及使用详解
Mar 10 Javascript
详解使用webpack打包编写一个vue-toast插件
Nov 08 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
Dec 22 Javascript
JS实现移动端触屏拖拽功能
Jul 31 Javascript
vue中eslintrc.js配置最详细介绍
Dec 21 Javascript
微信小程序文字显示换行问题
Jul 28 Javascript
JQuery常用选择器功能与用法实例分析
Dec 23 jQuery
jQuery插件编写步骤详解
Jun 03 #Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
Jun 03 #Javascript
JSON字符串转换JSONObject和JSONArray的方法
Jun 03 #Javascript
JS判断字符串变量是否含有某个字串的实现方法
Jun 03 #Javascript
JavaScript闭包实例详解
Jun 03 #Javascript
js判断某个字符出现的次数的简单实例
Jun 03 #Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
Jun 03 #Javascript
You might like
第九节 绑定 [9]
2006/10/09 PHP
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
php array的学习笔记
2012/05/16 PHP
php对大文件进行读取操作的实现代码
2013/01/23 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
微信支付开发订单查询实例
2016/07/12 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
2015/10/09 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
Vue移动端实现图片上传及超过1M压缩上传
2019/12/23 Javascript
Python中单、双下划线的区别总结
2017/12/01 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
django_orm查询性能优化方法
2018/08/20 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
手机配件第一品牌:ZAGG
2017/05/28 全球购物
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
会计电算化大学生职业规划书
2014/02/05 职场文书
超市中秋节活动方案
2014/02/12 职场文书
大学同学十年聚会感言
2014/02/21 职场文书
红色故事汇观后感
2015/06/18 职场文书
教师个人教学反思
2016/02/23 职场文书