Jquery 动态(变量)变量(如在php中?)

Jquery 动态(变量)变量(如在php中?),jquery,Jquery,可能重复: 我想肯定有一种方法可以在JavaScript(jQuery)中实现动态或可变变量 就像在php中,我们可能有 <?php $params = array("street", "city", "state","zip_code"); foreach($params as $key) $$key = some_function($key); echo $city; // would output the result of some_function(city); ?>

可能重复:

我想肯定有一种方法可以在JavaScript(jQuery)中实现动态或可变变量 就像在php中,我们可能有

<?php
$params = array("street", "city", "state","zip_code");
foreach($params as $key) $$key = some_function($key);
echo $city; // would output the result of some_function(city);
?>

但我看不到在jQuery(JavaScript)中实现类似功能的方法 在那里我想要一些像

<script>
params =["street", "city", "state","zip_code"];
jQuery.each(params, function() {
    var var this = jQuery('#'+this).val();
});
alert(city);
</script>

参数=[“街道”、“城市”、“州”、“邮政编码”];
每个(参数,函数(){
var-var this=jQuery('#'+this).val();
});
警报(城市);
这(当然)不起作用,但一定有办法?

在一种不受PHP限制的语言中,使用“变量”从来都不是必需的

addr = {};
params =["street", "city", "state","zip_code"];
jQuery.each(params, function() {
    addr[this] = jQuery('#'+this).val();
});
alert(addr.city);
在Javascript中,
addr[“city”]
addr.city
指的是同一件事。

解决了以下问题(这只是一个小问题)


PHP具有与JavaScript相同的数组功能。变量只是增加了灵活性。酷。。。我有点绕着类似的东西跳舞,但你的解决方案让我集中注意力。谢谢,尽管像Sam152一样,我更喜欢将变量视为灵活性的一种模式。似乎简单地调用动态生成的变量$city(在“受限”PHP场景中)比稍后在javascript版本中调用addr[“city”]或addr.city要干净/简单得多。只要我的2美分。即使在PHP中,变量也几乎不是“必要的”。PHP中的答案是使用数组,这与您在这里演示的内容相同。动态生成的变量使代码更难编译(因为编译器无法知道在任何给定时间可能存在的所有变量的名称),并且执行速度较慢(因为变量访问必须按名称而不是索引或其他方式查找)。
params =["street", "city", "state","zip_code"];
jQuery.each(params, function() {
    params[this] = jQuery('#'+this).val();
});
alert(params.city); // or params['city'];