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 相关文章推荐
javascript仿qq界面的折叠菜单实现代码
Dec 12 Javascript
node.js下when.js 的异步编程实践
Dec 03 Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 Javascript
jQuery简单自定义图片轮播插件及用法示例
Nov 21 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
Jan 21 Javascript
jquery精度计算代码 jquery指定精确小数位
Feb 06 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
Apr 20 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
Aug 18 Javascript
关于 angularJS的一些用法
Nov 29 Javascript
VSCode 配置React Native开发环境的方法
Dec 27 Javascript
微信小程序云开发 搭建一个管理小程序
May 17 Javascript
vue.js中ref和$refs的使用及示例讲解
Aug 14 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与javascript对多项选择的处理
2006/10/09 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
2014/01/26 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
利用python代码写的12306订票代码
2015/12/20 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
python占位符输入方式实例
2019/05/27 Python
用Python写一个自动木马程序
2019/09/17 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
Python如何将模块打包并发布
2020/08/30 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
十岁生日父母答谢词
2014/01/18 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
怎样写离婚协议书
2015/01/26 职场文书
建议书范文
2015/02/05 职场文书
党支部评议意见
2015/06/02 职场文书
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS