JavaScriptのオブジェクト化プログラミング
3160 ワード
オブジェクト化プログラミングに関する語句 現在、私たちは以下のようなオブジェクトのプログラミングについて学ぶ実力がありますが、実は前の章の内容です。with 語句 1つまたは複数のステートメントのデフォルトのオブジェクトを指定します。使い方:with (<オブジェクト>) <語句>;with 文は通常、特定の状況において書かなければならないコード量を短縮するために用いられます。次の例では、注意してください。 Math の繰り返し使用:x = Math.com(3 * Math.PI) + Math.sin(Math.LN 10)y = Math.tan(14 * Math.E)使用する with 文の場合、コードが短くなり、読みやすくなります。with (Math) { x = cos(3 * PI) + sin(LN 10) y = タン(14 * E);this オブジェクト 現在のオブジェクトを返します。違うところで、this 異なるオブジェクトを表します。もしいるなら JavaScript の「メインプログラム」にあります。 機能 には、イベントハンドラでは使用されません。 this、それは代表します window オブジェクト;もしいるなら with ステートメントブロックで使用 this、それは代表します with 指定されたオブジェクトイベントハンドラで使用する場合 thisは、事件の対象を表します。常用する this 使い方:…function check(formObj) { ... } ... ...> ... <フォームm ...> ... …この使い方は、フォーム入力の有効性をすぐに検出するのによく使われます。カスタムコンストラクタ Aray(),Image()などの構造関数が変数を構築できることを知っています。実は私達自身も自分の構造関数を書くことができます。カスタムコンストラクタも使用します。 機能。はい、 機能 中に入れる this を選択します機能 <コンストラクタ名> [(<パラメータ>) { ... this.<属性名> = <初期値>; ... } それから new コンストラクタのキーワードで変数を作成します。var <変数名> = new <コンストラクタ名><<パラメータ>>変数を作成すると、<変数名>がオブジェクトとなり、独自の属性があります。 this はい、 機能 で設定した属性です。以下はインターネットから見つけたブラウザの詳細情報を収集するためのカスタムコンストラクションの例です。 Is() { var メッセージ = navigator.userAgent.toLowerCase() this.major = parseInt(navigator.appVersion) //メインバージョン番号 this.minor = parseFloat(navigator.appVersion)//全版番号 this.ns = ((agent.indexOf('mozia')!=-1) && ((agent.indexOf('spoofer')==-1) && //かどうか Netscape (agent.indexOf('comptible') == -1)) this.ns 2 = (this.ns && (this.major == 3)) //かどうか Netscape 2 this.ns 3 = (this.ns && (this.major == 3)) //かどうか Netscape 3 this.s 4 b = (this.ns && (this.minor < 4.04)) //かどうか Netscape 4 低バージョン this.ns 4 = (this.ns && (this.major >= 4)) //かどうか Netscape 4 ハイバージョン this.ie = (agent.indexOf(「msie」) != -1) //かどうか IE this.ie 3 = (this.ie && (this.major == 2)) //かどうか IE 3 this.ie 4 = (this.ie && (this.major >= 4)) //かどうか IE 4 this.op 3 = (agent.indexOf(「opera」) != -1) //かどうか Opera 3 this.win = (agent.indexOf("win")!=-1) //かどうか Windows バージョン this.mac = (agent.indexOf("mac")!=-1) //かどうか Macintosh バージョン this.unix = (agent.indexOf("x 11")!=-1) //かどうか Unix バージョン is = new Is()このコンストラクタはブラウザの情報を完全に収集しています。対象として多くの属性が定義されていることを見ました。 minor、 ns ie win mac など。それらの意味は上のコメントを見てください。握り is 変数の定義 Is() オブジェクトの後、 if (is.ns このフォーマットはブラウザの情報を簡単に知ることができます。このコンストラクタからも見られます。一般的なものも使えます。 JavaScript 語句(先例では var ステートメント)もう一つのパラメータを使ったコンストラクションを見てみましょう。 myFriend(theName) gender theAge バートン、 theJob) { this.name = theName; this.isMale = (gender.to LowerCase == 'male;; this.age = theAge; this.birthday = new Date(bithOn) this.job = theJob}var Step hen = new myFriend('Stephhen'は、 'Male 18, 'Dec 22, 1982 'Student;;このコンストラクタからパラメータの使い方を見ただけでなく、異なる属性が異なるデータ型で可能であることも見られました。無限ループを回避するには十分な「保護措置」が必要であれば、構造関数自体で自分の属性を構築することができます。