转载:https://www.cnblogs.com/vlone/p/4602072.html

js中定义用字符串拼接起来的变量名的变量

今天在写js的时候碰到了难题,我又一个页面需要生成很多的变量。但是变量的名称是根据参数的不同而区分的。

例如可能需要生成 date_1,date_2,datet_3... (后面的数字是根据参数来的)。 所以我的函数名 应该由 var name = "test_"+num;   生成函数名  但这问题就来了。
1
     初始化变量时 等号左边是不允许是表达式的。

所以 var "test_"+num = 100; 这中肯定是错误的。后来问了大哥后才知道。可以使用  window[name] = 100 这种方式来定义变量。看代码

function create_variable(num){

var name = "test_"+num;   //生成函数名

window[name] = 100;

window['name'] = 200;   //注意看中括号里的内容加引号和不加引号的区别

}

create_variable(2);

alert(test_2);  // 100;

alert(name); //200;

总结  window用中括号的方式定义 变量时,中括号里的内容应该是字符串。如果是一个变量的话,他就会解析这个变量找到具体的值。IT十佳网

他和点语法区别就是这里,点语法后面跟的内容就是要定义的变量名。而不会在解析他是否为变量之类的。例如

var name = "test"

window.name = 200

alert(name); // 200

alert(test);   ReferenceError: test is not defined

2用对象的形式

   你的问题可以通过js的对象实现var ovar = {};for(var i=0;i<10;i++){ovar['var_'+i]='';}

3用数组的形式

var arr=[];
for(var i=0;i<xxx.length;i++ )
{
arr[i]=
}

js中定义用字符串拼接起来的变量名的变量相关推荐

  1. JS中常见的字符串拼接处理

    最近动态的编写界面的时候总是需要不定时的用到js,而字符串的拼接还有在jsp文件获取后台的数据变量是个使用的麻烦,我把我碰到的列举一下,希望对以后看到这个问题的人有所帮助 1. JS获取java后台在 ...

  2. php如何拼接变量名,php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符...

    php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符 方式一:使用花括号,前缀部分不需要用单引号 $nums10 = 100; $xxx*${bcount.$nums10}['m54'] ...

  3. 【JS】JS中数值型字符串相加变成拼接字符串的解决方法

    [JS]JS中数值型字符串相加变成拼接字符串的解决方法 参考文章: (1)[JS]JS中数值型字符串相加变成拼接字符串的解决方法 (2)https://www.cnblogs.com/xsjs/p/1 ...

  4. 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 字符串,是Java中最常用的一个数据类型了.关于字符串的知识,作者 ...

  5. 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 本文,也是对于Java中字符串相关知识的一个补充,主要来介绍一下字 ...

  6. js中如何把字符串转化为对象

    js中如何把字符串转化为对象 例如 var test='{ colkey: "col", colsinfo: "NameList" }' 很明显是一个对象,但如 ...

  7. new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解

    new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解 //获得年月日时分秒 //传入日期// ...

  8. js中定义变量加var和不加var的区别

    这个问题其实我在面试的时候有被问到过,当时我记得我回答的很模糊,面试官看到我好像不太清楚,又问我是不是可以不加var定义变量... 正好昨天做项目的时候想到这个问题,觉得这种细节上的问题才是拉开差距的 ...

  9. JS中定义一个二维数组

    JS中定义一个二维数组 方法一 var _TheArray = [["0-1","0-2"],["1-1","1-2"] ...

最新文章

  1. EM算法讲推导原理讲的懂了的,表达清晰易懂的, 收藏cnblog上的大牛的
  2. react-native 安卓支持 gif动态图
  3. 对于指针传入函数,却最终没有改变指针的值的问题
  4. SAP CRM WebClient UI的配置存储数据库表
  5. rsa前后端加密流程_不懂前后端分离?这篇就够了
  6. 蓝牙 sig base uuid_西圣XISEM真无线蓝牙耳机ASN体验:轻盈舒适,声音悦耳_
  7. C# Lock的基本使用和声明
  8. redis可视化客户端工具TreeNMS
  9. 微信二维码扫码登录的原理
  10. 微信小程序开发部署发布可以在10分钟内完成
  11. matlab plotyy 横坐标,MATLAB中plotyy函数详解:matlab双Y轴作图
  12. moment的使用——简单易懂
  13. 人民日报:密码,让百姓生活更安全
  14. python--len函数的用法
  15. 微信小程序-医护人员排班系统
  16. git commit 、CHANGELOG 和版本发布的标准自动化
  17. 微信小程序开发之——制作表格
  18. redis未授权访问
  19. 体验 服务器正在维护升级中 给大,阴阳师体验服9月30日维护 花合战更新
  20. 【爬虫实战】手把手教你使用python爬取美女图片

热门文章

  1. properties 配置回车_Dell?H730P?Raid1?配置方法
  2. nodejs返回html与vue,vuejs和nodejs的区别是什么?
  3. ARCore-Unity3d教程2 - 基本概念
  4. DotNet微信公众号简介
  5. 使用实体框架或C#中的任何IEnumerable列出批处理/分页
  6. miui通知栏要点两下_「MIUI玩机技巧56」小米应用商店 新增 通知栏快捷入口
  7. oracle 的 dml,Oracle——DML
  8. 轮盘算法 java_java – 使用轮盘选择的遗传算法
  9. python第三周笔记_Python第四周 学习笔记(1)
  10. python 与或非_Java、PHP和Python各有什么优势 分别能做什么