JavaScript は「オブジェクト指向プログラミング」または「オブジェクト指向プログラミング」を使用します。いわゆる「オブジェクト指向プログラミング」とは、JavaScript の範囲を大きなオブジェクトと小さなオブジェクトに分割し、そのオブジェクトの下位のオブジェクトを非常に詳細になるまで分割し続けることを意味します。すべてのプログラミングはオブジェクトを出発点として、オブジェクトに基づいています。変数のように小さいものから、Web ページのドキュメント、ウィンドウ、または画面のように大きいものまで、それらはすべてオブジェクトです。この章ではJavaScriptの「オブジェクト指向」の動作について説明します。
オブジェクトの基礎知識
オブジェクトは、JavaScript の「影響範囲」から分割できる小さな部分であり、テキスト、画像、フォームなどです。各オブジェクトには独自のプロパティ、メソッド、イベントがあります。オブジェクトのプロパティは、文字列の長さ、画像の長さと幅、テキスト ボックス (Textbox) 内のテキストなど、オブジェクトのメソッドが実行できる特定のオブジェクトのプロパティを反映します。たとえば、フォームの「送信」、ウィンドウの「スクロール」など、オブジェクトに対するいくつかの処理や、オブジェクトのイベントは、たとえばフォームの送信など、オブジェクト上で発生する処理に応答できます。はフォームの「送信イベント」を生成し、接続をクリックするとフォームの「送信イベント」クリックイベントを生成します。すべてのオブジェクトが上記の 3 つのプロパティを持つわけではなく、イベントを持たないオブジェクトや属性のみを持つオブジェクトもあります。オブジェクトの「プロパティ」を参照するには、「.」メソッドを使用します。
基本オブジェクト
ここで、上で学んだことを復習する必要があります。オブジェクトの観点からいくつかのデータ型を再学習します。
数値 「数値」オブジェクト。このオブジェクトはめったに使用されず、作者は一度も見たことがありません。しかし、「数値」に属するオブジェクト、つまり「変数」は数多くあります。
属性
MAX_VALUE 使用法: Number.MAX_VALUE; 「最大値」を返します。
MIN_VALUE 使用法: Number.MIN_VALUE; は「最小値」を返します。
NaN の使用法: Number.NaN または NaN は「NaN」を返します。 「NaN」(非数)は非常に早い段階で導入されました。
NEGATIVE_INFINITY 使用法: Number.NEGATIVE_INFINITY; 戻り値: 負の無限大、「最小値」より小さい値。
POSITIVE_INFINITY 使用法: Number.POSITIVE_INFINITY; 戻り値: 正の無限大、「最大値」より大きい値。
メソッド
toString() 使用法: <数値変数>.toString(); 戻り値: 文字列形式の数値。例: a == 123; の場合、a.toString() == '123'。
String 文字列オブジェクト。文字列オブジェクトを宣言する最も簡単、迅速、効果的で一般的に使用される方法は、文字列オブジェクトを直接割り当てることです。
属性
length 使用法: .length; 文字列の長さを返します。
メソッド
charAt() 使用法: .charAt(); の位置にある文字列の 1 文字を返します。注: 文字列内の 1 つの文字は位置 0 にあり、2 番目の文字は位置 1 にあり、最後の文字は位置長 - 1 にあります。
charCodeAt() 使用法: .charCodeAt(); 文字列の 位置にある 1 つの文字の ASCII コードを返します。
fromCharCode() の使用法: String.fromCharCode(a, b, c...); 文字列内の各文字の ASCII コードは、a、b、c... などによって決まります。
indexOf() の使用法: .indexOf([, ]); このメソッドは の検索から派生しています。 ( が指定されている場合、前の位置は無視されます)、見つかった場合はその位置を返し、見つからなかった場合は「-1」を返します。すべての「ポジション」はゼロから始まります。
lastIndexOf() の使用法: .lastIndexOf([, ]); IndexOf() と似ていますが、後ろから検索してみます。
split() の使用法: .split(); substring() 使用法: .substring([, ]); < 位置から始まる元の文字列の部分文字列を返します。 位置の前の位置に移動します。 - = 文字列の長さ (length) を返します。 が指定されていないか、文字列の長さを超えている場合、部分文字列は の位置から元の文字列の末尾までが取得されます。指定された場所で文字列を返せない場合は、空の文字列が返されます。
substr() の使用法: .substr([, ]); 元の文字列の部分文字列を返します。これは、元の文字列の開始部分です。 位置にあり、長さは です。 が指定されていないか、文字列の長さを超えている場合、部分文字列は の位置から元の文字列の末尾までが取得されます。指定された場所で文字列を返せない場合は、空の文字列が返されます。
toLowerCase() 使用法: .toLowerCase(); は、元の文字列の大文字をすべて小文字に変更する文字列を返します。
toUpperCase() 使用法: .toUpperCase(); は、元の文字列の小文字をすべて大文字に変換する文字列を返します。
Array 配列オブジェクト。配列オブジェクトはオブジェクトのコレクションであり、内部のオブジェクトはさまざまなタイプにすることができます。配列の各メンバー オブジェクトには、配列内での位置を示すために使用される「添え字」があります (これは「位置」であるため、ゼロから始まります)。
配列の定義方法:
var = new Array();
これは空の配列を定義します。将来配列要素を追加するには、次を使用します:
[] = ...;
ここでの角括弧は省略できないことに注意してください。 " は、配列の添字を角括弧で囲んで表現することを意味します。
配列を定義するときにデータを直接初期化する場合は、次を使用してください:
var = new Array(, ,
たとえば、var myArray = new Array(1, 4.5, 'Hi'); は配列 myArray を定義し、内部の要素は次のとおりです。 myArray[1] == 4.5; myArray[2] == 'こんにちは'。
ただし、要素リストに要素が 1 つだけあり、この要素が正の整数である場合は、 要素を含む配列が定義されます。
注: JavaScript には 1 次元配列しかありません。 4 x 5 の 2 次元配列を定義するために愚かなメソッド "Array(3,4)" を使用したり、"2 次元配列" の要素を返すためにメソッド "myArray[2,3]" を使用したりしないでください。 「myArray[...,3]」という形式の呼び出しは、実際には「myArray[3]」のみを返します。多次元配列を使用するには、次の仮想メソッドを使用します。
var myArray = new Array(new Array(), new Array(), new Array(), ...);実際、これは 1 次元配列であり、その中の各要素は配列です。この「2 次元配列」の要素を呼び出す場合: myArray[2][3] = ...;
property
length 使用法: .length; 戻り値: array の要素、つまり配列内に要素がいくつあるか。これは、配列内の最後の要素のインデックスに 1 を加えたものと等しくなります。したがって、要素を追加したい場合は、myArray[myArray.length] = ... のようにするだけです。
メソッド
join() の使用法: .join(); 記号 > で区切って配列内の要素を連結した文字列を返します。 。このメソッドは、配列の元の内容には影響しません。
reverse() の使用法: .reverse(); は、配列内の要素の順序を逆にします。このメソッドを配列 [1, 2, 3] に対して使用すると、配列は [3, 2, 1] に変更されます。
slice() の使用法: .slice([, ]); は、 から始まる元の配列のサブセットである配列を返します。ついに<ついに>。 が指定されていない場合は、元の配列の終わりまでサブセットが取得されます。
sort() の使用法: .sort([]); 配列内の要素を特定の順序で配置します。 が指定されていない場合は、アルファベット順が使用されます。この場合、80 は 9 よりも上位にランクされます。 を指定した場合は、 で指定されたソート方法でソートされます。 は説明が難しいので、ここでは便利な をいくつか紹介します。
数値を昇順に並べます:
function sortMethod(a, b) {
return a - b;
myArray.sort(sortMethod);
数値を降順に並べ替えます。 「a - b」は「b - a」になります。
機能については以下をご覧ください。
Math データの数学的計算を行う「Math」オブジェクト。以下で説明するプロパティとメソッドでは、「使用法」については詳しく説明しません。使用する場合は、「Math.」の形式を使用することを忘れないでください。
属性
E は定数 e (2.718281828...) を返します。
LN2 は 2 の自然対数 (ln 2) を返します。
LN10 は 10 の自然対数 (ln 10) を返します。
LOG2E 2 を最小値とする e の対数を返します (log2e)。
LOG10E は、10 を最小値とする e の対数を返します (log10e)。
PI は π (3.1415926535...) を返します。
SQRT1_2 は 1/2 の平方根を返します。
SQRT2 は 2 の平方根を返します。
メソッド
abs(x) は x の絶対値を返します。
acos(x) は、ラジアンで表された x の逆余弦 (余弦は x の角度に等しい) を返します。
asin(x) は x の逆正弦を返します。
atan(x) は x の逆正接を返します。
atan2(x, y) は、複素平面内の点 (x, y) に対応する複素数の引数角度をラジアンで表し、その値は -π から π までの範囲で返します。
ceil(x) は、x 以上の最小の整数を返します。
cos(x) は x のコサインを返します。
exp(x) は、e の x 乗 (ex) を返します。
floor(x) は、x 以下の最大の整数を返します。
log(x) は、x の自然対数 (ln x) を返します。
max(a, b) は、a、b の大きい方の数を返します。
min(a, b) は、a、b の小さい方の数を返します。
pow(n, m) は、n の m 乗 (nm) を返します。
random() は、0 より大きく 1 未満の乱数を返します。
round(x) は、x の四捨五入された値を返します。
sin(x) は x の正弦を返します。
sqrt(x) は x の平方根を返します。
tan(x) は x のタンジェントを返します。
Date 日付オブジェクト。このオブジェクトは、0001 から 9999 までの任意の日付を保存でき、ミリ秒 (1/1000 秒) の精度を保つことができます。内部的には、日付オブジェクトは、1970 年 1 月 1 日の午前 0 時から、日付オブジェクトが指す日付までのミリ秒数を表す整数です。参照された日付が 1970 年より前の場合、それは負の数になります。タイム ゾーンが指定されていない場合、すべての日付と時刻には、数値的には「GMT」 (グリニッジ標準時) と同じである「UTC」 (世界時) タイム ゾーンが使用されます。
日付オブジェクトを定義します:
var d = new Date;
このメソッドは d を日付オブジェクトにし、初期値として現在時刻を持ちます。初期値をカスタマイズしたい場合は、以下を使用できます:
var d = new Date(99, 10, 1); //1999 年 10 月 1 日
var d = new Date('Oct 1) , 1999'); // 1999 年 10 月 1 日
およびその他のメソッド。一番良い方法は、以下で紹介する「方法」を使って時間を厳密に定義することです。
メソッド
以下の「g/set[UTC]XXX」のようなメソッドがたくさんありますが、これは「getXXX」メソッドと「setXXX」メソッドの両方が存在することを意味します。 「Get」はある値を取得すること、「set」はある値を設定することです。 「UTC」文字がある場合は、取得/設定される値が UTC 時間に基づいていることを意味し、そうでない場合は、現地時間または閲覧期間のデフォルト時間に基づいていることを意味します。
特に記述がない場合、メソッドの使用形式は「