🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.javascript
Article #218

Re: [Q]Array object

#218
From: Katsuhiro MIHARA
Date: Wed, 14 Jan 1998 00:00
81 lines
2819 bytes
三原@東工大と申します。

JavaScript はほとんど使ったことがなくて、
下記の部分を実験しただけですが、

In article <691uct$4j1@green.obicnet.ne.jp>
 hideto@shimada-precision.co.jp writes:

   嶋田と申します。

   どなたか教えていただきたいのですが、下記のように
   function makeArray(){
	   var array = new Array();
	   array[0]="company";
	   array[1]="contact";
	   array[2]="e_mail";
   }
   とArrayオブジェクトを作って、このオブジェクト自体を
   returnで返し

   array1 = makeArray();
   document.write(array1[0]);

   などと参照することはできるのでしょうか?
   今のところうまくいっていません。
   もしかして根本的に理解がおかしいのでしょうか?
   どなたかお教え下さい。


オブジェクトの作成と関数の返り値を混同していますね。


  1. makeArray() 内の array は、
     オブジェクトのメンバーですか、一時的な変数ですか。

  オブジェクトのメンバーにするなら、 "this" で指定しておかないと。


  2. makeArray() は返り値を返すのですか、返さないのですか。
  
  返り値を返すなら関数内で "return" で返すことにして、
  オブジェクトのインスタンスを使ってもらうなら、
  呼びだし側でインスタンスを生成する "new" を使わないといけません。


というわけで、上のコードを書き直しました。
makeArray1() はインスタンスを使ってもらうもの、
makeArray2() は配列を返り値にするものです。

<script>
<!--
    function makeArray1() {
        this.array = new Array();
        this.array[0] = "company";
        this.array[1] = "contact";
        this.array[2] = "e_mail";
    }

    function makeArray2() {
        var array = new Array();
        array[0] = "company";
        array[1] = "contact";
        array[2] = "e_mail";
        return array;
    }

    var array1 = new makeArray1();
    var array2 = makeArray2();
    document.write(array1.array[0]);
    document.write(array2[0]);
//-->
</script>

参考になりましたでしょうか。

--
  三原  克大  (Katsuhiro MIHARA)
東京工業大学理学部情報科学科
 mailto:mihara@is.titech.ac.jp
 http://www.is.titech.ac.jp/%7Emihara/index-j.html
Technical Details
Message-ID: <v40pvlvvlen.fsf@gorgon.is.titech.ac.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <691uct$4j1@green.obicnet.ne.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 103a72,e60801e297a4f895
X-Google-Attributes: gid103a72,public
From: mihara@is.titech.ac.jp (Katsuhiro MIHARA)
Subject: Re: [Q]Array object
Date: 1998/01/14
Message-ID: <v40pvlvvlen.fsf@gorgon.is.titech.ac.jp>
X-Deja-AN: 315726524
Sender: mihara@gorgon.is.titech.ac.jp
References: <691uct$4j1@green.obicnet.ne.jp>
Content-Type: text/plain; charset=ISO-2022-JP
Organization: Dept. of Information Science, Tokyo Institute of Technology, Tokyo, JAPAN
Mime-Version: 1.0 (generated by tm-edit 7.66)
Newsgroups: fj.lang.javascript