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 相关文章推荐
IE和Firefox在JavaScript应用中的兼容性探讨
Apr 01 Javascript
js Flash插入函数免激活代码
Mar 31 Javascript
jquery控制listbox中项的移动并排序的实现代码
Sep 28 Javascript
javascript开发中因空格引发的错误
Nov 08 Javascript
jQuery利用sort对DOM元素进行排序操作
Nov 07 Javascript
详解javascript中对数据格式化的思考
Jan 23 Javascript
bootstrap datepicker插件默认英文修改为中文
Jul 28 Javascript
js实现文件上传功能 后台使用MultipartFile
Sep 08 Javascript
bootstrap-table formatter 使用vue组件的方法
May 09 Javascript
用Node写一条配置环境的指令
Nov 14 Javascript
vue3.0 项目搭建和使用流程
Mar 04 Vue.js
vue实现简单数据双向绑定
Apr 28 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运行模式汇总
2016/11/06 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
js变量提升深入理解
2016/09/16 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
对于Python的Django框架部署的一些建议
2015/04/09 Python
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
2015/04/25 Python
python 文件操作删除某行的实例
2017/09/04 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
python如何操作mysql
2020/08/17 Python
python中封包建立过程实例
2021/02/18 Python
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
德国电子商城:ComputerUniverse
2017/04/21 全球购物
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
什么是Assembly(程序集)
2014/09/14 面试题
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
车间操作工岗位职责
2013/12/19 职场文书
高中自我鉴定
2013/12/20 职场文书
假期安全教育广播稿
2014/10/04 职场文书
公司行政助理岗位职责
2015/04/11 职场文书