2

window特別なグローバルスコープをカスタム スコープと交換する可能性はありますか? 意図されていると思っwithただけですが、別の「ルックアップ」スコープをスタックするだけです。例えば。

test={};
with(test){
    a=1;
}

プロパティを作成しませんtest.aが、window.a.

windowオブジェクトには、独自のコードでは再現できない JS 固有の特別な品質がありますか?

4

2 に答える 2

2

指定されたオブジェクトにプロパティが存在する場合、プロパティはwith変更されますが、作成されることはありません。これは、使用に関する主要な「落とし穴」でwithあり、避けるべき主な理由です。

于 2011-04-24T01:09:55.423 に答える
0

with渡されたオブジェクトにそのプロパティがある場合にのみ、変更されます。作成されません。

http://www.yuiblog.com/blog/2006/04/11/with-statement-considered-harmful/

于 2011-04-24T01:09:57.043 に答える