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 相关文章推荐
js 数组的for循环到底应该怎么写?
May 31 Javascript
JavaScript arguments 多参传值函数
Oct 24 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
Jun 24 Javascript
jQuery实现弹出窗口中切换登录与注册表单
Jun 05 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
Feb 17 Javascript
zTree jQuery 树插件的使用(实例讲解)
Sep 25 jQuery
JavaScript实现求最大公共子串的方法
Feb 03 Javascript
mpvue项目中使用第三方UI组件库的方法
Sep 30 Javascript
JS实现的贪吃蛇游戏完整实例
Jan 18 Javascript
深入了解JavaScript 的 WebAssembly
Jun 15 Javascript
JavaScript的查询机制LHS和RHS解析
Aug 16 Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 Javascript
基于原生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的日期处理函数及uchome的function_coomon中日期处理函数的研究
2011/01/12 PHP
php对象在内存中的存在形式分析
2015/02/03 PHP
CI框架附属类用法分析
2018/12/26 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
2017/03/22 jQuery
vue2.0实战之基础入门(1)
2017/03/27 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
JS实现分页导航效果
2020/02/19 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
关于Python中浮点数精度处理的技巧总结
2017/08/10 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
室内设计实习自我鉴定
2013/09/25 职场文书
松材线虫病防治方案
2014/06/15 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
公司联欢会主持词
2015/07/04 职场文书
Java实现多文件上传功能
2021/06/30 Java/Android
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫