0

私はjavascriptで次のHtmlファイルを持っています。これにより、「testCircleが未定義です」というエラーが表示されます。kinldyは私がこれを解決するのを手伝ってくれます。

<html>
    <body>
    <h1> Testing Object-based Javascipt </h1>
    <script type="text/javascript">
    function mycircle(x,y,r)
    {
    this.xcoord=x;
    this.ycoord=y;
    this.radius=r;
    this.area = getArea;
    this.getCircumference = function () { return (2 * Math.PI * this.radius ) ; };
    }
   function getArea()
   {
   return (Math.PI * this.radius * this.radius);
   }
        var testCircle = mycircle(3,4,5);

   window.alert('The radius of my circle is ' + testCircle.radius);

   </script>

   </body>
   </html>

前もって感謝します....

4

2 に答える 2

5
var testCircle = mycircle(3, 4, 5);

する必要があります

var testCircle = new mycircle(3, 4, 5);

コンストラクターは、newキーワードを使用して呼び出されます。キーワードが使用されていない場合は、mycircle関数の戻り値を割り当てています。また、ステートメントmycircleが含まれていないreturnため、戻り値は次のようになります。これは、コードでundefined割り当てたものです。testCircle

于 2012-05-20T17:18:12.157 に答える
0

私が得ているエラーは、未定義の半径です。このような場合は。新しいコンストラクタなしで使用する場合は、mycircleの最後にこれを返す必要があります。

更新時に見られるように:このフィドルはここにあります

修正:リンク切れ

于 2012-05-20T17:27:32.487 に答える