我正在嘗試使用用戶輸入動態分配變量名稱。例如:動態分配變量名稱JavaScript
var input = document.querySelector('input');
for(var i = 0; i < 10; i++){
var newVariableName = //input.value;
}
任何幫助將非常感激。
謝謝你,在JavaScript 劃痕貓
我正在嘗試使用用戶輸入動態分配變量名稱。例如:動態分配變量名稱JavaScript
var input = document.querySelector('input');
for(var i = 0; i < 10; i++){
var newVariableName = //input.value;
}
任何幫助將非常感激。
謝謝你,在JavaScript 劃痕貓
一切都是對象。 JavaScript的工作方式,您可以通過兩種方式添加屬性的對象:
obj.propertyName = 'Value'
)obj[propertyName] = 'Value'
)指定它們。在這種情況下,請注意propertyName是一個字符串值。在這兩種情況下,結果都是完全一樣的。您也可以同樣檢索這些屬性,例如obj.propertyName
和obj[propertyName]
。兩者都將返回'Value'
。
在你的情況,@ LuudJacobs的建議有關使用窗口對象將最有可能做的伎倆......
是的,但不能爲不同的名稱使用相同的名稱數組中的對象。它崩潰。 –
哦,我想我現在明白了非常感謝。 –
您可以使用數組,其中鍵將輸入值和值將是任何你想要的。
HTML
<form>
<input type="text" value="demo1" class="example"><br />
<input type="text" value="demo2" class="example"><br />
<input type="text" value="demo3" class="example">
</form>
JS 首先聲明數組
var a = new Array();
然後使用for循環指定鍵名稱數組,這將是輸入值
for(var i = 0; i < 3; i++){
a[x[i].value] = x[i].value;
}
最後您可以使用這些鍵名訪問值
alert(a['demo1'] + ' ' +a['demo2'] + ' ' + a['demo3']);
這裏是一個鏈接到一個例子 https://jsfiddle.net/309fpsjn/1/
<html>
<form>
<input type="text" value="demo1" class="example"><br />
<input type="text" value="demo2" class="example"><br />
<input type="text" value="demo3" class="example">
</form>
<script>
var x = document.querySelectorAll(".example");
var a = new Array();
for(var i = 0; i < 3; i++){
a[x[i].value] = x[i].value;
}
alert(a['demo1'] + ' ' +a['demo2'] + ' ' + a['demo3']);
</script>
</html>
你能請詳細 –
你想吃點什麼關係呢?理論上講,你可以通過使用全局對象來實現,儘管讓一個字典對象與給定的名字和值相匹配可能會更容易 – Icepickle
爲什麼你不使用數組/對象? –