您的位置: 翼速应用 > 业内知识 > web前端 > 正文

用字符串JS 定义拼接变量分析

今天在写js的时候碰到了难题,我又一个页面需要生成很多的变量。但是变量的名称是根据参数的不同而区分的。

例如可能需要生成date_1,date_2,datet_3... (后面的数字是根据参数来的)。 所以我的函数名 应该由 var name = "test_"+num; 生成函数名 但这问题就来了。


第一,可以使用 window[name] = " " 这种方式来定义变量:

所以 var "test_"+num = 100; 这中肯定是错误的。后来问了大哥后才知道。可以使用 window[name] = 100 这种方式来定义变量。看代码

  1. function create_variable(num){  
  2.   var name = "test_"+num;  //生成函数名  
  3.   window[name] = 100;  
  4.   window['name'] = 200;  //注意看中括号里的内容加引号和不加引号的区别  
  5. }  
  6. create_variable(2);  
  7. alert(test_2); // 100;  
  8. alert(name); //200;  


总结

window用中括号的方式定义 变量时,中括号里的内容应该是字符串。如果是一个变量的话,他就会解析这个变量找到具体的值。

他和点语法区别就是这里,点语法后面跟的内容就是要定义的变量名。而不会在解析他是否为变量之类的。例如

  1. var name = "test"  
  2. window.name = 200  
  3. alert(name); // 200  
  4. alert(test);  ReferenceError: test is not defined  



第二,用对象的形式


  1. var test = {};  
  2.   for(var i = 0; i < 3; i++){  
  3.     test['test_'+i]='我是字符串'+i;  
  4.    
  5.     console.log(test['test_'+i]); //输出:我是字符串0, 我是字符串1, 我是字符串2  
  6.   }  
  7. console.log(test_0); //输出:ReferenceError: test_0 is not defined  
  8. console.log(test['test_0']); //输出:我是字符串0  


第三,用数组的形式


  1. var test = [];  
  2.   for(var i = 0; i < 3; i++){  
  3.     test[i]='我是字符串'+i;  
  4.     console.log(test[i]); //输出:我是字符串0, 我是字符串1, 我是字符串2  
  5.   }  
  6. console.log(test[0]); //输出:我是字符串0  


以上就是用字符串JS 定义拼接变量分析的详细内容,更多请关注翼速应用平台学习其它相关文章!

我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题