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,超强推荐share.js
Dec 23 Javascript
Javascript调试工具(下载)
Jan 09 Javascript
js各种验证文本框输入格式(正则表达式)
Oct 22 Javascript
jQuery对html元素取值与赋值的方法
Nov 20 Javascript
JavaScript获取table中某一列的值的方法
May 06 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
Jun 16 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
Jul 27 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
Oct 27 Javascript
捕获未处理的Promise错误方法
Oct 13 Javascript
关于jquery layui弹出层的使用方法
Apr 21 jQuery
微信小程序中网络请求缓存的解决方法
Dec 29 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 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
初品cakephp 入门基础
2012/02/16 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
PHP跳转页面的几种实现方法详解
2013/06/08 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
读JavaScript DOM编程艺术笔记
2011/11/15 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
Angularjs 事件指令详细整理
2017/07/27 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
python使用opencv进行人脸识别
2017/04/07 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
2019/01/03 Python
Python尾递归优化实现代码及原理详解
2020/10/09 Python
留学生如何写好自荐信
2013/12/27 职场文书
人事部经理岗位职责
2014/03/07 职场文书
产品质量承诺书
2014/03/27 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
庆七一宣传标语
2014/10/08 职场文书
农村老人去世追悼词
2015/06/23 职场文书
学生会部长竞选稿
2015/11/19 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
建房合同协议书
2016/03/21 职场文书
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript
Pycharm远程调试和MySQL数据库授权问题
2022/03/18 MySQL