JS如何定義用字符串拼接的變量
今天在寫js的時(shí)候碰到了難題,我又一個(gè)頁面需要生成很多的變量。但是變量的名稱是根據(jù)參數(shù)的不同而區(qū)分的。
例如可能需要生成 date_1,date_2,datet_3... (后面的數(shù)字是根據(jù)參數(shù)來的)。 所以我的函數(shù)名 應(yīng)該由 var name = "test_"+num; 生成函數(shù)名 但這問題就來了。
1可以使用 window[name] = " " 這種方式來定義變量:
所以 var "test_"+num = 100; 這中肯定是錯(cuò)誤的。后來問了大哥后才知道。可以使用 window[name] = 100 這種方式來定義變量。看代碼
function create_variable(num){
var name = "test_"+num; //生成函數(shù)名
window[name] = 100;
window['name'] = 200; //注意看中括號里的內(nèi)容加引號和不加引號的區(qū)別
}
create_variable(2);
alert(test_2); // 100;
alert(name); //200;
總結(jié) window用中括號的方式定義 變量時(shí),中括號里的內(nèi)容應(yīng)該是字符串。如果是一個(gè)變量的話,他就會(huì)解析這個(gè)變量找到具體的值。
他和點(diǎn)語法區(qū)別就是這里,點(diǎn)語法后面跟的內(nèi)容就是要定義的變量名。而不會(huì)在解析他是否為變量之類的。例如
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用數(shù)組的形式
var test = [];
for(var i = 0; i < 3; i++){
test[i]='我是字符串'+i;
console.log(test[i]); //輸出:我是字符串0, 我是字符串1, 我是字符串2
}
console.log(test[0]); //輸出:我是字符串0
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Bootstrap免費(fèi)字體和圖標(biāo)網(wǎng)站(值得收藏)
在這篇內(nèi)容中,我們把這套框架上的免費(fèi)字體圖標(biāo)做了個(gè)整合(當(dāng)然,以后還會(huì)不斷的更新)。大家對bootstrap免費(fèi)字體圖標(biāo)有需要的話,可以參考本教程2017-03-03
在JavaScript 中按字母排序之如何在 JS 中按名稱排序
有時(shí)你可能有一個(gè)單詞數(shù)組,你想按字母順序(從 a-z)對每個(gè)單詞進(jìn)行排序,或者你可能有一個(gè)包含用戶信息(包括名字)的對象數(shù)組,例如,你想按照用戶的名字來排序,接下來通過本文給大家介紹在JavaScript 中按字母排序之如何在 JS 中按名稱排序,需要的朋友可以參考下2023-09-09
前端處理.xlsx文件流并觸發(fā)下載的完整實(shí)現(xiàn)方案
本文詳細(xì)介紹了前端處理.xlsx文件流并觸發(fā)下載的完整實(shí)現(xiàn)方案,包括核心實(shí)現(xiàn)流程、關(guān)鍵增強(qiáng)功能、常見問題處理以及最佳實(shí)踐建議,方案推薦使用FileSaver.js,適用于中型以上項(xiàng)目,需要的朋友可以參考下2025-03-03
JS實(shí)現(xiàn)的四級密碼強(qiáng)度檢測功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)的四級密碼強(qiáng)度檢測功能,具有實(shí)時(shí)檢測輸入密碼強(qiáng)度的功能,涉及javascript針對字符串的正則判定相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
javascript框架設(shè)計(jì)讀書筆記之模塊加載系統(tǒng)
本文是司徒正美的《javascript框架設(shè)計(jì)》的第二章模塊加載系統(tǒng)的讀書筆記,根據(jù)自己的理解,簡要的跟大家講述了本章的主要內(nèi)容,方便大家更好的學(xué)習(xí)。2014-12-12
JS控制只能輸入數(shù)字并且最多允許小數(shù)點(diǎn)兩位
這篇文章主要介紹了JS控制只能輸入數(shù)字并且最多允許小數(shù)點(diǎn)兩位,本文給大家提到j(luò)s如何限制input輸入框只能輸入數(shù)字問題,需要的朋友可以參考下2019-11-11

