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,超强推荐expand.js
Dec 23 Javascript
js中获取键盘事件的简单实现方法
Oct 10 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
Jan 21 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
Mar 08 Javascript
js每隔两秒输出数组中的一项(实例)
May 28 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
Sep 28 Javascript
selenium+java中用js来完成日期的修改
Oct 31 Javascript
微信小程序实现带放大效果的轮播图
May 26 Javascript
通过实例了解JS执行上下文运行原理
Jun 17 Javascript
vue使用screenfull插件实现全屏功能
Sep 17 Javascript
微信小程序实现转盘抽奖
Sep 21 Javascript
夯基础之手撕javascript继承详解
Nov 09 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
date.parse在IE和FF中的区别
2010/07/29 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
如何理解python对象
2020/06/21 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
详解如何在登录过期后跳出Ifram框架
2020/09/10 HTML / CSS
自我介绍演讲稿
2014/01/15 职场文书
大学生就业求职信
2014/06/12 职场文书
会计岗位说明书
2014/07/29 职场文书
转让协议书范本
2014/09/13 职场文书
2015中学学校工作总结
2015/07/20 职场文书
幼儿园心得体会范文
2016/01/21 职场文书
基于Redis位图实现用户签到功能
2021/05/08 Redis
python之django路由和视图案例教程
2021/07/26 Python