1

次のコードについて説明していただけますか? 私のブラウザコンソールで動作しています。では、これはどのように機能するのでしょうか? new キーワードは新しいインスタンスをまったく作成しませんか、それともどうですか?

 var myObject = new Object(); // Produces an Object() object.
    myObject['0'] = 'f';
    myObject['1'] = 'o';
    myObject['2'] = 'o';
    console.log(myObject); // Logs Object { 0="f", 1="o", 2="o"}

    var myString = new String('foo'); // Produces a String() object.
    console.log(myString); // Logs foo { 0="f", 1="o", 2="o"

説明してください。

4

2 に答える 2

1

新しいインスタンスの場合、myObjectの値をmyString変数にどのように伝達しますか

そうではありません。文字列リテラルでStringオブジェクトを初期化しています。

new String('foo'); 

そのfooは、オブジェクトの3つのプロパティに割り当てる文字とはまったく異なるfooです。比較のために、2番目のfooをbarに置き換えます

于 2012-07-18T08:45:46.113 に答える
0

これは完全に正常な動作です。

new Stringを作成します。Object入力"var myString = new String('moo')"すると、値が異なる別のオブジェクトが取得されます。

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/#se‌ ction_7

于 2012-07-18T08:45:15.420 に答える