2016-05-12 9 views
0

ブライアン・ブラウン(Bryan Braun)のthis articleを参照すると、Javascriptの機能を定義するさまざまな方法については、標準に関する質問があります。プロパティの割り当てと変数の割り当て:標準は何ですか?

複数のオブジェクトがあり、各メンバーに値"Programmer"を与えたいとします。情報を取得するために関数を使用する必要がある場合は、Javascriptでこれを設定する方が適切か標準的な方法でしょうか?

変数割り当て?たとえば、

var GetName = function() { 
     return {"name": "Programmer"}; 
} 

var newObj = GetName(); 

またはプロパティの割り当て?たとえば、次のように

var obj1 = { 
    GetName: function() { 
    obj2.name = "Programmer"; 
    }, 

    GetObj: function() { 
    return obj2; 
    } 
} 

obj1.GetName(); 
newObj = obj1.GetObj(); 

かはさらに適切であるこの機能は、またはJavaScriptのための共通の標準にマッチする関数を呼び出すための別の方法は何ですか?私は一緒にJavascriptに新しいとすべてのロープを学ぶ。

前の「変数の割り当て」は、よりクリーンでシンプルなようです。しかし、物件の割り当てはもっとまとまっていると思われます。しかし、Javascriptのオブジェクトや機能については、セキュリティはあまりありません。

このような機能の標準は何ですか?

+1

2番目の例では、構文エラーが発生します。 –

+0

@MikeCありがとう!私はあなたがコンマの不足を指していると信じて、それを追加するように編集しました。 'obj2' varに頼っているのであれば、これを追加しませんでした。これは多かれ少なかれコードスニペットなので、 –

+1

いいえ、私はあなたが関数キーワードやパラメータリストのない関数を持っているという事実を指しています。 'GetObj:{return obj2; } 'は' GetObj:function(){return obj2;}でなければなりません。 } 'またはメソッド構文' GetObj(){return obj2; } '。 –

答えて

0

IMOの場合は、単純な関数/コンストラクタを作成し、それを使ってオブジェクトを初期化する必要があります。関数宣言は、関数式よりも優れているため

function GetName(){ 
    this.name = "Programmer"; 
} 

およびJavaScriptで

var obj1 = new GetName(); 
var obj2 = new GetName(); 
var obj3 = new GetName(); 

ようにそれを使用することは、機能は、一番上に掲げています。

+0

私は、関数宣言と関数式の間の使用状況を理解するのに苦労しています。あなたは以前の対ラダーをいつ使うのですか? –