2011-05-07 155 views
12

我想將js變量和另一個變量一起用於創建另一個變量名稱...因此它看起來像;如何將2個javascript變量合併爲一個字符串

for (i=1;i<=2;i++){ 
    var marker = new google.maps.Marker({ 
position:"myLatlng"+i, 
map: map, 
title:"title"+i, 
icon: "image"+i 
}); 
} 

,後來我有

myLatlng1=xxxxx; 
myLatlng2=xxxxx; 
+0

'VAR = 1'不正確。 – 2011-05-07 17:06:57

+0

我不是一個真正的JavaScript傢伙,這就是爲什麼,沒有書,這只是因爲我正在做一些與谷歌地圖api和這個請求者有點js知識,我沒有很多:) – 2011-05-07 19:11:37

回答

31

使用the concatenation operator+,而事實上,數字類型將自動轉換爲字符串:如果你想連接字符串表示

var a = 1; 
var b = "bob"; 
var c = b + a; 
+0

現在的問題是,bob1是一個具有價值的變量。代碼yu給了我創建一個字符串,我需要bob1作爲一個變量名......對不起,我問這個問題有點不對,但是我想甚麼可能呢?我知道這可能在PHP中,但它是JavaScript? – 2011-05-07 18:53:01

+0

@Lenny:使用生成的字符串「bob1」作爲變量名稱是一個完全不同的單獨問題。你可以使用'eval'來做這個,但[它通常是皺眉頭](http://stackoverflow.com/questions/592862/javascript-variable-variables/592944#592944)。重新考慮代碼的某些方面可能是最好的,可能是利用數組。如果您對此有任何疑問,請發佈一個新問題,因爲它是一件獨立的事情。 – 2011-05-07 18:58:01

+0

我正在做的是,我從一個mysql數據庫調用位置coridantes,我想在谷歌地圖上使用它們,有一個工作,這是做這個分開,並單獨創建每個標記,但因爲這可能是爲了在谷歌地圖上的100個標記可能會導致問題,我聽說過eval,但我對如何使用它略有困惑,但我會看看是否可以找到一個有用的教程:) – 2011-05-07 19:02:41

3

的兩個變量的值,請使用+符號:

var var1 = 1; 
var var2 = "bob"; 
var var3 = var2 + var1;//=bob1 

但是,如果你想保持兩個只有一個變量,但仍可以在以後訪問它們,你可以把一個對象容器:

function Container(){ 
    this.variables = []; 
} 
Container.prototype.addVar = function(var){ 
    this.variables.push(var); 
} 
Container.prototype.toString = function(){ 
    var result = ''; 
    for(var i in this.variables) 
     result += this.variables[i]; 
    return result; 
} 

var var1 = 1; 
var var2 = "bob"; 
var container = new Container(); 
container.addVar(var2); 
container.addVar(var1); 
container.toString();// = bob1 

的好處是,你可以得到的字符串這兩個變量的表示,位以後可以對其進行修改:

container.variables[0] = 3; 
container.variables[1] = "tom"; 
container.toString();// = tom3 
+0

你(正確地)聲明瞭抽象'addVar',但是在這個例子中你選擇使用直接數組訪問很差!你也可以使用'var'(這是一個關鍵字)作爲變量名,然後嘗試調用'add'(它不存在)。另外,你的'toString()'函數返回的結果比想要的要多得多,因爲你遍歷了'variables'對象的_all_屬性,而不僅僅是那些帶有數字鍵的對象。修復這些錯誤後,腳本運行並生成''1bob'',而不是''bob1''。同樣,你的第二個例子給出了「3tom」而不是「tom1」。 – 2011-05-07 22:44:35

+0

sry,我很着急,糾正了錯誤 – 2011-05-08 03:30:13

+0

不是全部。 – 2011-05-08 09:45:51

2

您可以使用JavaScript字符串concat()方法,

var str1 = "Hello "; 
var str2 = "world!"; 
var res = str1.concat(str2); //will return "Hello world!" 

它的語法是:

string.concat(string1, string2, ..., stringX) 
2
var variable = 'variable', 
    another = 'another'; 

['I would', 'like to'].join(' ') + ' a js ' + variable + ' together with ' + another + ' to create ' + [another, ...[variable].concat('name')].join(' ').concat('...'); 
+0

這很酷! – phaberest 2016-09-16 10:37:50

相關問題