0

JavaScript で変数の初期値を持つことの重要性は何だろうと思っています。

function data() {
    var self = this;
    self.formatLength;
}

function data() {
    var self = this;
    self.formatLength =  null;
}

その変数に null などの初期値を指定しない場合はどうなるでしょうか。

それは違いを生むでしょうか?私はJavaScriptが初めてで、良い習慣を維持しようとしているので、それについて疑問に思っていました.

4

2 に答える 2

2

デフォルトにしたい場合は、初期値を指定します。そのため、後で値を設定せずにアクセスすると、何かが設定されます。

値を設定しない場合は、単に になりますundefined。これは JS の型であり、コードで確認できます。

于 2013-08-20T17:34:47.280 に答える
1

最初のコンストラクターは formatLength フィールドを作成しません。存在しないフィールドを取得しようとするだけです。

2 番目のコンストラクターは formatLength フィールドを作成します。

@lighty フィールドを undefined に設定しても意味がありません。js では、C# のようにフィールドを null にすることができます。undefined は、オブジェクトに存在しないフィールドを参照しようとした場合に取得する「値」です。

var o = {};
var u = o.youField; // u is set to undefined;

undefined は、オブジェクトがこのフィールドを定義していないことを意味します。

あなたはそれを書くことができます:

var o = { yourField :  undefined};

しかし、私はこれを見たことがありません。あなたはこれを書くべきです:

var o = { yourField :  null};

したがって、初期値 (null も含む) を持つ un フィールドが必要な場合は、次のように記述します。

var Class = function data() {
    var self = this;
    self.formatLength =  null;
}
var c = new Class();

このフィールドを削除する場合は、次のように delete を呼び出します。

delete c.formatLength;

お役に立てば幸いです。

于 2013-08-20T17:34:54.423 に答える