-2

在脚本标记中,要检索变量内的变量值,我使用了以下代码,但它不返回任何值。

    <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>

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

4

3 回答 3

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
  });

演示

于 2013-05-27T07:29:59.907 回答
1

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

var data = {
    GetAnimals: (function () {
            return 'tiger';
            // assign value to GetAnimals variable
        })(),
    GetBirds: (function () {
            return 'pegion';
            // assign value to GetBirds variable
        })()
}
});
于 2013-05-27T07:30:36.330 回答
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

请使用正确的大小写和缩进。

于 2013-05-27T07:32:59.757 回答