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 相关文章推荐
WEB 浏览器兼容 推荐收藏
May 14 Javascript
JavaScript/jQuery 表单美化插件小结
Feb 14 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
Apr 02 Javascript
jQuery AJAX timeout 超时问题详解
Jun 21 Javascript
详解JavaScript的内置对象
Dec 07 Javascript
Bootstrap3 内联单选和多选框
Dec 29 Javascript
bootstrap下拉菜单使用方法解析
Jan 13 Javascript
JS实现的ajax和同源策略(实例讲解)
Dec 01 Javascript
Node 升级到最新稳定版的方法分享
May 17 Javascript
VSCode搭建React Native环境
May 07 Javascript
vue 获取元素额外生成的data-v-xxx操作
Sep 09 Javascript
vue 数字翻牌器动态加载数据
Apr 20 Vue.js
基于原生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
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
PHP生成器简单实例
2015/05/13 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
Thinkphp极验滑动验证码实现步骤解析
2020/11/24 PHP
window.onload 加载完毕的问题及解决方案(下)
2009/07/09 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
Ajax中解析Json的两种方法对比分析
2015/06/25 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python实现的ini文件操作类分享
2014/11/20 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
python感知机实现代码
2019/01/18 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
详解django实现自定义manage命令的扩展
2019/08/13 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
体育教育专业毕业生自荐信
2013/11/15 职场文书
管理学专业个人求职信范文
2013/12/13 职场文书
《挑山工》的教学反思
2014/02/16 职场文书
美术指导求职信
2014/03/17 职场文书
小学生竞选班长演讲稿
2014/04/24 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
海洋天堂观后感
2015/06/05 职场文书
vue响应式原理与双向数据的深入解析
2021/06/04 Vue.js
Python利用FlashText算法实现替换字符串
2022/03/31 Python