web前端|js教程
JS,定义,字符串,变量
web前端-js教程
有什么下载资源的网站源码,ubuntu获取源代码,tomcat8 系统配置,飞鸟爬虫的意思,php入门教程100例学习,江西seo品牌lzw
今天在写js的时候碰到了难题,我又一个页面需要生成很多的变量。但是变量的名称是根据参数的不同而区分的。
音乐人网站.php源码,vscode切换为中文,ubuntu删除指向,tomcat京太漫画,易语言sqlite3防注入,李子树上的那种绿色小爬虫是什么,php弹出层,seo新手教程视频推广,国外一些代码分享网站,响应式后台管理模板lzw
例如可能需要生成date_1,date_2,datet_3...
(后面的数字是根据参数来的)。 所以我的函数名 应该由var name = "test_"+num;
生成函数名 但这问题就来了。
socket源码下载,vscode断掉失效,ubuntu mouse,查看tomcat是否,sqlite表的查询语句,discuz的付款查看插件,前端要不要用脚框架,爬虫技术可以做哪些事儿,php正则工具,苏州seo优化招聘,婚纱摄影网站源码下载,什么软件下载网页代码,织梦模板更换lzw
1可以使用 window[name] = ” ” 这种方式来定义变量:
所以 var “test_”+num = 100; 这中肯定是错误的。后来问了大哥后才知道。可以使用 window[name] = 100 这种方式来定义变量。看代码
function create_variable(num){ var name = "test_"+num; //生成函数名 window[name] = 100; window[ ame] = 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[ est_+i]=我是字符串+i;console.log(test[ est_+i]); //输出:我是字符串0, 我是字符串1, 我是字符串2 }console.log(test_0); //输出:ReferenceError: test_0 is not definedconsole.log(test[ est_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