ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript入門チュートリアル(3) jsオブジェクト指向_基礎知識

JavaScript入門チュートリアル(3) jsオブジェクト指向_基礎知識

WBOY
WBOYオリジナル
2016-05-16 18:56:30851ブラウズ

JavaScript 是使用“对象化编程”的,或者叫“面向对象编程”的。所谓“对象化编程”,意思是把 JavaScript 能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所有的编程都以对象为出发点,基于对象。小到一个变量,大到网页文档、窗口甚至屏幕,都是对象。这一章将“面向对象”讲述 JavaScript 的运行情况。
对象的基本知识
对象是可以从 JavaScript“势力范围”中划分出来的一小块,可以是一段文字、一幅图片、一个表单(Form)等等。每个对象有它自己的属性方法事件。对象的属性是反映该对象某些特定的性质的,例如:字符串的长度、图像的长宽、文字框(Textbox)里的文字等等;对象的方法能对该对象做一些事情,例如,表单的“提交”(Submit),窗口的“滚动”(Scrolling)等等;而对象的事件就能响应发生在对象上的事情,例如提交表单产生表单的“提交事件”,点击连接产生的“点击事件”。不是所有的对象都有以上三个性质,有些没有事件,有些只有属性。引用对象的任一“性质”用“<对象名>.<性质名>”这种方法。

基本对象
现在我们要复习以上学过的内容了——把一些数据类型用对象的角度重新学习一下。
Number “数字”对象。这个对象用得很少,作者就一次也没有见过。不过属于“Number”的对象,也就是“变量”就多了。

属性
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 つの文字は位置 0 にあり、2 番目の文字は位置 1 にあり、最後の文字は位置長 - 1 にあります。
charCodeAt()
使用法: .charCodeAt(); の位置にある 1 文字の ASCII コードを返します。
fromCharCode()
使用法: String.fromCharCode(a, b, c...); 各文字の ASCII コードが a、b、c... で構成される文字列を返します。必ず待ってください。
indexOf()
使用法: <文字列オブジェクト>.indexOf(<別の文字列オブジェクト>[, <開始位置>]); このメソッドは<別の文字列オブジェクト>を検索します。 ; 文字列オブジェクト> 内で ( が指定されている場合は、前の位置を無視します)、見つかった場合はその位置を返し、見つからなかった場合は「- 1」を返します。すべての「ポジション」はゼロから始まります。
lastIndexOf()
使用法: .lastIndexOf([, ]); と似ていますが、後ろから見ていきます。 。
split()
使用法: .split(); から区切られた配列を返します。ポイントであり、それ自体は返される配列には含まれません。例: '1&2&345&678'.split('&') は配列 1,2,345,678 を返します。配列については、後ほど説明します。
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[0] == 1; myArray[2] == 'Hi'。
ただし、要素リストに要素が 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] = ...;
属性
length 使用法: .length; 戻り値: 配列の長さ、つまり配列内の要素の数。これは、配列内の最後の要素のインデックスに 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);
数値を降順に並べ替えます: put上記の「a - b」は「b - a」になるはずです。
機能については以下をご覧ください。
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 のタンジェントを返します。
日付 日付オブジェクト。このオブジェクトは、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('1999 年 10 月 1 日'); //1999 年 10 月 1 日
など一番良い方法は、以下で紹介する「方法」を使って時間を厳密に定義することです。
メソッド
以下の「g/set[UTC]XXX」のようなメソッドがたくさんありますが、これは「getXXX」メソッドと「setXXX」メソッドの両方が存在することを意味します。 「Get」はある値を取得すること、「set」はある値を設定することです。 「UTC」という文字がある場合は、取得/設定される値が UTC 時間に基づいていることを意味し、文字がない場合は、ローカル時間または閲覧期間のデフォルト時間に基づいていることを意味します。
特に記述がない場合、メソッドの使用形式は「.」となります。以下同様。
g/set[UTC]Full Year() 4 桁で表される年を返す/設定します。 「x.set[UTC]Full Year(99)」を使用すると、年は 0099 に設定されます。
g/set[UTC] Year()
2 桁で表される年を返す/設定します。設定するとブラウザが自動的に先頭に「19」を付けてくれるので、「x.set[UTC] Year(00)」で西暦を1900年に設定します。
g/set[UTC]Month()
月を返す/設定します。
g/set[UTC]Date()
日付を返す/設定します。
g/set[UTC]Day()
曜日を返す/設定します。0 は日曜日を意味します。
g/set[UTC]Hours()
時間を 24 時間形式で返します/設定します。
g/set[UTC]Minutes()
分を返す/設定します。
g/set[UTC]Seconds()
秒数を返す/設定します。
g/set[UTC]ミリ秒()
ミリ秒数を返す/設定します。
g/setTime()
日付オブジェクトの内部処理メソッドである時刻を返す/設定します。1970 年 1 月 1 日の 0:00 から、指定された日付までのミリ秒を計算します。日付オブジェクト番号。日付オブジェクトが指す時刻を 1 時間遅らせたい場合は、「x.setTime(x.getTime() 60 * 60 * 1000);」を使用します (1 時間 60 分、1 分 60 秒、1 秒 1000)ミリ秒)。
getTimezoneOffset()
日付オブジェクトで使用されるタイムゾーンとグリニッジ標準時の差を分単位で返します。グリニッジ以東の都市部では、値は負になります。たとえば、中国のタイムゾーン (GMT 0800) は「-480」を返します。
toString()
日付オブジェクトが指す日付を説明する文字列を返します。この文字列の形式は、「Fri Jul 21 15:43:46 UTC 0800 2000」のようになります。
toLocaleString()
日付オブジェクトが指す日付を現地時間形式で表す文字列を返します。例:「2000-07-21 15:43:46」。
toGMTString()
日付オブジェクトが指す日付を説明する文字列を GMT 形式で返します。
toUTCString()
日付オブジェクトが指す日付を記述する文字列を UTC 形式で返します。
parse()
使用法: Date.parse(); 日付オブジェクトの内部式を返します。


グローバル オブジェクト
グローバル オブジェクトは、仮想化することが目的であると言えます。機能が「オブジェクト」に変化します。 Microsoft JScript Language Reference では、これは「Global オブジェクト」と呼ばれていますが、そのメソッドとプロパティは「Global.xxx」では決して参照されず (参照するとエラーが発生します)、「xxx」で直接参照されます。
属性
NaN 早くも言いました。
メソッド
eval() 括弧で囲まれた文字列を標準のステートメントまたは式として操作します。
isFinite()
括弧内の数値が「有限」(Number.MIN_VALUE と Number.MAX_VALUE の間)の場合は true を返し、それ以外の場合は false を返します。
isNaN()
括弧内の値が「NaN」の場合は true を返し、それ以外の場合は false を返します。
parseInt()
括弧内の内容を整数に変換した値を返します。括弧が文字列の場合は、文字列の先頭の数値部分が整数に変換され、文字で始まる場合は「NaN」が返されます。
parseFloat()
括弧内の文字列を浮動小数点数に変換した値を返します。文字列の先頭の数値部分が文字で始まる場合は浮動小数点数に変換されます。 , 「NaN」が返されます。
toString() 使用法: .toString(); オブジェクトを文字列に変換します。括弧内に値を指定すると、変換プロセス中にすべての値が特定の基数に変換されます。
escape() 括弧内の文字列によってエンコードされた新しい文字列を返します。このエンコーディングは URL に適用されます。つまり、スペースは " " の形式で書き込まれます。 「 」はエンコードされていません。「 」をエンコードしたい場合は、escape('...', 1) を使用してください。
unescape() は、escape() の逆のプロセスです。括弧内の文字列を通常の文字列にデコードします。

関数関数の定義
いわゆる「関数」には戻り値がありますvalue オブジェクトまたはオブジェクトのメソッド。
関数の種類
一般的な関数には、配列を構築できる Array() などのコンストラクター、グローバル オブジェクト内のメソッドであるグローバル関数が含まれます。 ; 自己定義関数など。
カスタム関数
次のステートメントを使用して関数を定義します:
function 関数名 ([パラメータセット]) {
...
[return[ ];]
...
}
where ,関数全体が 1 つの文しかない場合でも、関数の後と関数の最後に使用される中括弧は省略できません。
関数名には変数名と同じ命名規則があり、文字、数字、アンダースコア、先頭文字のみが含まれ、予約語を繰り返すことはできません。
パラメータセットはオプションですが、括弧が存在する必要があります。
パラメータ は、関数の外部から関数の内部に情報を伝達するブリッジです。たとえば、関数に 3 の 3 乗を返すように要求したい場合は、次のようにする必要があります。このとき、関数は値「3」を知っている必要があります。値を受け取る変数はパラメータと呼ばれます。
パラメータ セットは、a、b、c のように、カンマで区切られた 1 つ以上のパラメータのセットです。
関数内には 1 行以上のステートメントがあります。これらのステートメントはすぐには実行されませんが、他のプログラムが呼び出したときにのみ実行されます。これらのステートメントには「return」ステートメントが含まれる場合があります。関数の実行中に return ステートメントが見つかると、関数は実行を直ちに停止し、それを呼び出したプログラムに戻ります。 "return" の後に を指定すると、関数を終了するときに値が返されます。
関数内では、パラメーターを変数として直接使用でき、var ステートメントを使用していくつかの新しい変数を作成できますが、これらの変数を関数の外部のプロシージャから呼び出すことはできません。関数内の情報を外部から呼び出せるようにするには、戻り値「return」を使用するか、グローバル変数を使用します。
グローバル変数 スクリプト (関数内ではない) の「ルート」にある「var」ステートメントによって定義される変数はグローバル変数であり、プロセス全体のどこからでも呼び出して変更できます。

function addAll(a, b, c) {
return a b c;
}

var total = addAll(3, 4, 5);
この例では、 「addAll」という関数が作成されます。この関数には、a、b、c の 3 つのパラメータがあります。その機能は、3 つの数値を加算した結果を返すことです。関数の外では、「var total = addAll(3, 4, 5);」を使用して関数の戻り値を受け取ります。
多くの場合、関数には戻り値がありません。この種の関数は、Basic 言語では「Sub」、Pascal 言語では「プロシージャ」など、厳密性を重視する一部の言語では「プロシージャ」と呼ばれます。
Attributes
arguments 外部プログラムが関数を呼び出すときに指定されたパラメーターを反映する配列。使用法: 関数内で直接「引数」を呼び出します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。