オブジェクトベースのプログラミングに関する記述 これで、オブジェクトベースのプログラミングについて次のことを学ぶことができますが、実際には前の章に属します。
with ステートメントは、ステートメントまたはステートメントのグループのデフォルト オブジェクトを指定します。
使用法:
with () ;
with ステートメントは通常、特定の状況で記述しなければならないコードの量を短縮するために使用されます。次の例では、Math が繰り返し使用されていることに注意してください。
x = Math.cos(3 * Math.PI) Math.sin(Math.LN10);
y = Math.tan(14 * Math. E);
with ステートメントを使用すると、コードが短くなり、読みやすくなります。 y = Tan(14 * E);
}
このオブジェクトは「現在の」オブジェクトを返します。異なる場所では、これは異なるオブジェクトを表します。これが JavaScript の「メイン プログラム」で (関数やイベント ハンドラーではなく) 使用される場合は、ウィンドウ オブジェクトを表します。これが with ステートメント ブロックで使用される場合は、with で指定されたオブジェクトを表します。これをイベント ハンドラーで使用すると、イベントが発生したオブジェクトを表します。
これの一般的な使用法:
...
...
この使用法は、フォーム入力の正当性をすぐに確認するためによく使用されます。
カスタム コンストラクター Array() や Image() などのコンストラクターを使用して変数を構築できることはすでにわかっています。実際、独自のコンストラクターを作成することもできます。カスタム コンストラクターも関数を使用します。この内部関数を使用してプロパティを定義します。
関数
[(
)] { ... this.
=
} ;次に、 new コンストラクター キーワードを使用して変数を構築します。
var
= new
[(
)];
変数を構築した後、 はオブジェクトになります。これには独自のプロパティがあり、 this を使用して関数内でプロパティが設定されます。
次に、ブラウザーの詳細を収集するためのインターネット上で見つかったカスタム コンストラクターの例を示します。 .major = parseInt(navigator.appVersion); //メジャー バージョン番号
this.minor = parseFloat(navigator.appVersion);//完全なバージョン番号 this.ns = ((agent.indexOf(' mozilla' )!=-1) &&
((agent.indexOf('spoofer')==-1) && //Netscape かどうか
(agent.indexOf('compatibility') == -1)) );
this.ns2 = (this.ns && (this.major == 3)); //Netscape 2 かどうか
this.ns3 = (this.ns && (this.major == 3)) / /Netscape 3 かどうか
this.ns4b = (this.ns && (this.minor this.ns4 = (this.ns && (this.ns && (this.minor = 4)); //Netscape 4 上位バージョンかどうか
this.ie = (agent.indexOf("msie") != -1); //IE かどうか
this. ie3 = (this.ie && (this.major == 2)) //IE 3
かどうか this.ie4 = (this.ie && (this.major >= 4)); //IE 4 this.op3 = (agent.indexOf("opera") != -1); //Opera 3 かどうか
this.win = (agent.indexOf("win")!=-1); //Windows版かどうか
this.mac = (agent.indexOf("mac")!=-1); //Macintosh版かどうか
this.unix = (agent.indexOf("x11) ")!=-1); //Unix バージョンかどうか }
var is = new Is();
このコンストラクターはブラウザー情報を非常に完全に収集します。オブジェクトの多くの属性 (メジャー、マイナー、ns、つまり win、mac など) が定義されていることがわかります。それらの意味については、上記の注記を参照してください。is 変数を Is() オブジェクトとして定義すると、if (is.ns) の形式を使用してブラウザの情報を簡単に知ることができます。このコンストラクターからは、通常の JavaScript ステートメント (上記の例では var ステートメント) も使用できることがわかります。
パラメーターを使用する別のコンストラクターを見てみましょう。
function myFriend(theName, 性別, theAge, BirthOn, theJob) {
this.name = theName;
this.is Male = (gender) .toLowerCase == '男性');
this.age = theAge;
this.birthday = new Date(birthOn)
this.job = theJob
}
var Stephen = new myFriend('Stephen', ' Male', 18, '1982 年 12 月 22 日', 'Student');
このコンストラクターからは、パラメーターの使用法だけでなく、次のことも確認できます。異なる属性に異なるデータ型を使用することが可能です (上記の例の 5 つの属性は、文字列、ブール値、数値、日付、文字列です) また、コンストラクター内で属性を「構築」するためにコンストラクターを使用できることもわかりました。 。無限ループを回避するために十分な「保護手段」が使用されている場合は、コンストラクター自体を使用して独自のプロパティを構築できます。