-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 に答える