JS如何定义用字符串拼接的变量


Posted in Javascript onJuly 11, 2020

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

例如可能需要生成 date_1,date_2,datet_3... (后面的数字是根据参数来的)。 所以我的函数名 应该由 var name = "test_"+num; 生成函数名 但这问题就来了。

1可以使用 window[name] = " " 这种方式来定义变量:

所以 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用中括号的方式定义 变量时,中括号里的内容应该是字符串。如果是一个变量的话,他就会解析这个变量找到具体的值。

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

var name = "test"
  window.name = 200
  alert(name); // 200
  alert(test);  ReferenceError: test is not defined

2用对象的形式

var test = {};
  for(var i = 0; i < 3; i++){
    test['test_'+i]='我是字符串'+i;
 
    console.log(test['test_'+i]); //输出:我是字符串0, 我是字符串1, 我是字符串2
  }
console.log(test_0); //输出:ReferenceError: test_0 is not defined
console.log(test['test_0']); //输出:我是字符串0

3用数组的形式

var test = [];
  for(var i = 0; i < 3; i++){
    test[i]='我是字符串'+i;
    console.log(test[i]); //输出:我是字符串0, 我是字符串1, 我是字符串2
  }
console.log(test[0]); //输出:我是字符串0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jQuery的仿flash的广告轮播
Nov 05 Javascript
jQuery 属性选择器element[herf*='value']使用示例
Oct 20 Javascript
Javascript 绘制 sin 曲线过程附图
Aug 21 Javascript
javascript基本数据类型及类型检测常用方法小结
Dec 14 Javascript
从零学习node.js之mysql数据库的操作(五)
Feb 24 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
Mar 29 Javascript
原来JS还可以这样拆箱转换详解
Feb 01 Javascript
js中console在一行内打印字符串和对象的方法
Sep 10 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
Mar 10 Javascript
vue+element实现图片上传及裁剪功能
Jun 29 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
Aug 05 Javascript
jquery实现拖拽添加元素功能
Dec 01 jQuery
基于原生js实现判断元素是否有指定class名
Jul 11 #Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
Jul 11 #Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
Jul 11 #Javascript
uniapp,微信小程序中使用 MQTT的问题
Jul 11 #Javascript
VSCode 配置uni-app的方法
Jul 11 #Javascript
深入解析微信小程序开发中遇到的几个小问题
Jul 11 #Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
Jul 11 #Javascript
You might like
IStream与TStream之间的相互转换
2008/08/01 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
父元素与子iframe相互获取变量和元素对象的具体实现
2013/10/15 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
Angularjs基础知识及示例汇总
2015/01/22 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
2020/04/04 jQuery
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
python通过shutil实现快速文件复制的方法
2015/03/14 Python
Django验证码的生成与使用示例
2017/05/20 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
Django和Flask框架优缺点对比
2019/10/24 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
canvas实现手机的手势解锁的步骤详细
2020/03/16 HTML / CSS
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
优秀党员主要事迹
2014/01/19 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
小学优秀学生评语
2014/12/29 职场文书
python 下载文件的几种方式分享
2021/04/07 Python
CSS完成视差滚动效果
2021/04/27 HTML / CSS
比较几种Redis集群方案
2021/06/21 Redis