javascript中变量的变量

时间:2013-05-27 07:27:17

标签: javascript jquery

在脚本标记中,为了在varible中检索变量值,我使用了以下代码,但它没有返回任何值。

    <script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
    <script type="text/javascript" language="javascript">
    $(function () {
       var data = {
        GetAnimals: function()
        {
        return 'tiger';         assign value to GetAnimals variable
        },
        GetBirds:function()
        {
        return 'pegion';       assign value to GetBirds variable
        }
        }
      });

      document.write(data.GetAnimals);//should print tiger
      document.write(data.GetAnimals);//should print pegion

      </script>

但是,我无法打印出所需的结果 提前谢谢。

3 个答案:

答案 0 :(得分:4)

您不是将函数称为函数:

document.write(data.GetAnimals());//should print tiger
document.write(data.GetBirds());//should print pegion

最重要的是,您尝试从外部 data访问$(function() { ... });,此时此时间不再存在。

$(function () {
    var data = {
      GetAnimals: function() {
        return 'tiger'; //        assign value to GetAnimals variable
      },
      GetBirds:function() {
        return 'pegion'; //      assign value to GetBirds variable
      }
    }

    document.write(data.GetAnimals());//should print tiger
    document.write(data.GetBirds());//should print pegion
  });

Demo

答案 1 :(得分:1)

从未听说过“自我调用函数”?

var data = {
    GetAnimals: (function () {
            return 'tiger';
            // assign value to GetAnimals variable
        })(),
    GetBirds: (function () {
            return 'pegion';
            // assign value to GetBirds variable
        })()
}
});

答案 2 :(得分:0)

$(function () {
   var data = {
        getAnimals: function() {
            return 'tiger';
        },

        getBirds: function() {
            return 'pigeon';  // I guess you meant pigeon
        }
    }
  });

  document.write(data.getAnimals()); // *call* the method
  document.write(data.getBirds()); // call the correct method

并且请使用适当的大写和缩进。