ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の 3 種類のオブジェクトとは何ですか?

JavaScript の 3 種類のオブジェクトとは何ですか?

青灯夜游
青灯夜游オリジナル
2021-06-15 16:40:573390ブラウズ

JavaScript の 3 種類のオブジェクト: 1. Array、Boolean、Data、Math、Number、Object、RegExp、String オブジェクトなどの内部 (セット) オブジェクト; 2. を実行するホスト オブジェクトJS スクリプト 環境によって提供されるオブジェクト、3. カスタム オブジェクト。

JavaScript の 3 種類のオブジェクトとは何ですか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター

JS 3 つのオブジェクト

JS では、オブジェクトは「内部オブジェクト」、「ホスト オブジェクト」、「カスタム オブジェクト」の 3 種類に分類できます。

図に示すように:

内部オブジェクト

⑴番号オブジェクト

##⑵Math: 組み込みオブジェクト

Math オブジェクトのプロパティ

プロパティ説明E算術定数 e を返します。自然対数 (2.718 にほぼ等しい) の底。 LN22 の自然対数 (約 0.693) を返します。 LN1010 の自然対数 (約 2.302) を返します。 LOG2Ee の底 2 の対数 (約 1.4426950408889634) を返します。 LOG10Ee の 10 を底とする対数 (約 0.434) を返します。 PI円周率 (3.14159 にほぼ等しい) を返します。 SQRT1_22 の平方根の逆数 (約 0.707 に等しい) を返します。 SQRT22 の平方根 (約 1.414) を返します。
#Math オブジェクト メソッド


メソッドabs(x)acos(x)asin(x)atan(x)atan2(y,x)ceil(x)cos(x)exp(x)floor(x)log(x)max(x,y,z,...,n)min(x,y,z,...,n)pow(x,y)random()round(x)sin(x)sqrt(x)tan(x)#⑶ブール オブジェクト
説明
x の絶対値を返します。
x の逆余弦を返します。
x の逆正弦を返します。
x の逆正接を -PI/2 ラジアンから PI/2 ラジアンまでの数値として返します。
x 軸から点 (x,y) までの角度を返します (-PI/2 と PI/2 の間)間のラジアン)。
数値を切り上げます。
数値のコサインを返します。
Ex の指数を返します。
x を切り捨てます。
数値の自然対数を返します (底は e)。
x,y,z,...,n の中で最大の値を返します。
x,y,z,...,n の中で最も低い値を返します。
x の y 乗を返します。
0 ~ 1 の範囲の乱数を返します。
四捨五入。
数値の正弦を返します。
数値の平方根を返します。
角度の正接を返します。


ブール オブジェクト属性

プロパティ説明constructorこのオブジェクトを作成したブール関数への参照を返しますprototype オブジェクトにプロパティとメソッドを追加できるようになります。 #ブール値オブジェクト メソッド

メソッド説明ブール値を文字列に変換し、結果を返します。 Boolean オブジェクトの元の値を返します。 # ⑷文字列オブジェクト
toString()
valueOf()

文字列オブジェクトの属性

#プロパティ

説明
constructor オブジェクトを作成した関数への参照
length 文字列の長さ
prototype オブジェクトにプロパティとメソッドを追加できるようにします

文字列オブジェクト メソッド

#trim()文字列の両側の空白を削除します#toLocaleLowerCase()toLocaleUpperCase()valueOf()toString()
メソッド 説明
charAt() 指定された位置の文字を返します。
charCodeAt() 指定された位置にある文字の Unicode エンコードを返します。
concat() 2 つ以上の文字列を連結し、新しい文字列を返します。
fromCharCode() Unicode エンコードを文字に変換します。
indexOf() 指定された文字列値が文字列内で最初に出現する位置を返します。
includes() 指定された部分文字列が文字列に含まれるかどうかを検索します。
lastIndexOf() 文字列を後ろから前に検索し、開始位置 (0) から開始して返された文字列の最後の出現箇所を計算します。
match() 1 つ以上の正規表現に一致するものを検索します。
repeat() 文字列を指定回数コピーし、連結して返します。
replace() 文字列内で一致する部分文字列を検索し、正規表現に一致する部分文字列を置換します。
search() 正規表現に一致する値を検索します。
slice() 文字列の断片を抽出し、抽出された部分を新しい文字列で返します。
split() 文字列を文字列配列に分割します。
startsWith() 文字列が指定された部分文字列で始まるかどうかを確認します。
substr() 文字列から開始インデックス番号から指定された数の文字を抽出します。
substring() 文字列内の指定された 2 つのインデックス番号の間にある文字を抽出します。
toLowerCase() 文字列を小文字に変換します。
toUpperCase() 文字列を大文字に変換します。
ローカルに従って ホストのロケールは文字列を小文字に変換します。
ローカル ホストのロケールに従って文字列を大文字に変換します。
文字列オブジェクトの元の値を返します。
文字列を返します。
# ⑸RegExp オブジェクト

RegExp オブジェクトのメソッド

メソッド説明コンパイルバージョン 1.5 では非推奨になりました。正規表現をコンパイルします。 exec文字列で指定された値を取得します。見つかった値を返し、その位置を決定します。 test文字列で指定された値を取得します。 true または false を返します。 toString正規表現の文字列を返します。 # 正規表現をサポートする String オブジェクトのメソッド

#MethodsDescription正規表現に一致する値を取得します。 1 つ以上の正規表現に一致するものを検索します。 正規表現に一致する部分文字列を置換します。 文字列を文字列配列に分割します。 RegExp オブジェクトのプロパティ
FF IE search
1 4 match
1 4 replace
1 4 split
1 4

PropertiesDescriptionRegExp オブジェクトを作成するためのプロトタイプである関数を返します。 「g」修飾子が設定されているかどうかを確認します「g」修飾子が設定されているかどうかを確認します。 「i」修飾子 は、次の一致の開始位置を指定するために使用されます「m」修飾子が設定されているかどうかを確認します##source正規表現の一致パターンを返します# ⑹グローバル: 組み込みオブジェクト
constructor
global
ignoreCase
lastIndex
複数行

JavaScript グローバル プロパティ

属性

説明
Infinity 正の無限大の値を表します。
NaN 値が数値かどうかを示します。
未定義 未定義の値を示します。

JavaScript グローバル関数

関数 説明
decodeURI() エンコードされた URI をデコードします。
decodeURIComponent() エンコードされた URI コンポーネントをデコードします。
encodeURI() 文字列を URI にエンコードします。
encodeURIComponent() 文字列を URI コンポーネントにエンコードします。
escape() 文字列をエンコードします。
eval() JavaScript 文字列を評価し、スクリプト コードとして実行します。
isFinite() 値が有限数かどうかを確認します。
isNaN() 値が数値かどうかを確認します。
Number() オブジェクトの値を数値に変換します。
parseFloat() 文字列を解析し、浮動小数点数を返します。
parseInt() 文字列を解析し、整数を返します。
String() オブジェクトの値を文字列に変換します。
unescape() escape() でエンコードされた文字列をデコードします。

# ⑺日付オブジェクト

日付オブジェクトのプロパティ

プロパティ説明constructorこのオブジェクトを作成した Date 関数への参照を返します。 prototype オブジェクトにプロパティとメソッドを追加できるようになります。

Date オブジェクト メソッド

Method Description
getDate() Date オブジェクトから日付 (1 ~ 31) を返します。
getDay() Date オブジェクトから曜日 (0 ~ 6) を返します。
getFull Year() Date オブジェクトから年を 4 桁の数値として返します。
getHours() Date オブジェクトの時間 (0 ~ 23) を返します。
getMilliseconds() Date オブジェクトのミリ秒 (0 ~ 999) を返します。
getMinutes() Date オブジェクトの分 (0 ~ 59) を返します。
getMonth() Date オブジェクトから月 (0 ~ 11) を返します。
getSeconds() Date オブジェクトの秒数 (0 ~ 59) を返します。
getTime() 1970 年 1 月 1 日からのミリ秒数を返します。
getTimezoneOffset() 現地時間とグリニッジ標準時 (GMT) の差を分単位で返します。
getUTCDate() 世界時に基づいて、Date オブジェクトから月の日 (1 ~ 31) を返します。
getUTCDay() 世界時に基づいて Date オブジェクトから曜日 (0 ~ 6) を返します。
getUTCFul Year() 世界時に基づいて Date オブジェクトから 4 桁の年を返します。
getUTCHours() 世界時に従って Date オブジェクトの時間 (0 ~ 23) を返します。
getUTCMilliseconds() 世界時に従って Date オブジェクトのミリ秒 (0 ~ 999) を返します。
getUTCMinutes() 世界時に従って Date オブジェクトの分 (0 ~ 59) を返します。
getUTCMonth() 世界時に従って Date オブジェクトから月 (0 ~ 11) を返します。
getUTCSeconds() 世界時に従って Date オブジェクトの秒 (0 ~ 59) を返します。
get Year() は廃止されました。代わりに getFull Year() メソッドを使用してください。
parse() 1970 年 1 月 1 日の午前 0 時から指定された日付 (文字列) までのミリ秒数を返します。
setDate() Date オブジェクトに月の特定の日 (1 ~ 31) を設定します。
setFull Year() Date オブジェクトに年 (4 桁) を設定します。
setHours() Date オブジェクトに時間 (0 ~ 23) を設定します。
setMilliseconds() Date オブジェクトにミリ秒 (0 ~ 999) を設定します。
setMinutes() Date オブジェクトに分 (0 ~ 59) を設定します。
setMonth() Date オブジェクトに月 (0 ~ 11) を設定します。
setSeconds() Date オブジェクトに秒 (0 ~ 59) を設定します。
setTime() setTime() メソッドは、Date オブジェクトをミリ秒単位で設定します。
setUTCDate() Date オブジェクトに世界時に従って日付 (1 ~ 31) を設定します。
setUTCFul Year() Date オブジェクトに世界時に従って年 (4 桁) を設定します。
setUTCHours() 世界時に従って Date オブジェクトの時間 (0 ~ 23) を設定します。
setUTCMilliseconds() Date オブジェクトのミリ秒 (0 ~ 999) を世界時に従って設定します。
setUTCMinutes() Date オブジェクトに世界時に従って分 (0 ~ 59) を設定します。
setUTCMonth() Date オブジェクトに世界時に従って月 (0 ~ 11) を設定します。
setUTCSeconds() setUTCSeconds() メソッドは、世界時 (UTC) に基づいて指定された時刻の秒フィールドを設定します。
setyear() は廃止されました。代わりに setFull Year() メソッドを使用してください。
toDateString() Date オブジェクトの日付部分を文字列に変換します。
toGMTString() は廃止されました。代わりに toUTCString() メソッドを使用してください。
toISOString() ISO 標準を使用して文字列の日付形式を返します。
toJSON() 日付文字列を JSON データ形式で返します。
toLocaleDateString() Date オブジェクトの日付部分を現地時間形式に従って文字列に変換します。
toLocaleTimeString() Date オブジェクトの時刻部分を現地時間形式に従って文字列に変換します。
toLocaleString() Date オブジェクトを現地時間形式に従って文字列に変換します。
toString() Date オブジェクトを文字列に変換します。
toTimeString() Date オブジェクトの時刻部分を文字列に変換します。
toUTCString()

Date オブジェクトを世界時に従って文字列に変換します。

例:

var today = new Date();var UTCstring = today.toUTCString();
UTC() 世界標準に従って、1970 年 1 月 1 日から指定された日付までのミリ秒数を返します。時間。
valueOf() Date オブジェクトの元の値を返します。

⑻オブジェクト オブジェクト

⑼配列オブジェクト

⑽関数オブジェクト

各種エラークラスオブジェクト:

⑴Error

⑵EvalError

⑶RangeError

⑷ReferenceError

⑸SyntaxError

⑹TypeError

JS ホスト オブジェクト

⑴ 定義: ホスト オブジェクトは JS を実行します。スクリプト 環境によって提供されるオブジェクト。

⑵ ブラウザ オブジェクト: Web ページに埋め込まれた JS の場合、そのホスト オブジェクトはブラウザによって提供されるオブジェクトであるため、IE や Firefox などのブラウザによって提供されるオブジェクトなど、ブラウザ オブジェクトとも呼ばれます。 。

⑶ 注: ブラウザによって提供されるホスト オブジェクトは異なる場合があり、提供されるオブジェクトが同じであっても、その実装方法は大きく異なります。これにより、ブラウザの互換性の問題が発生し、開発の難易度が高まります。

##⑷ ホスト オブジェクトの例: ウィンドウ、ナビゲーター、ドキュメントなど。

##⑸ ブラウザ拡張オブジェクト: Active、XML、Debug、Script、VBArray など。

# JS カスタム オブジェクト

⑴オブジェクト リテラル メソッド (JSON を介してオブジェクトを作成)

欠点: 同じインターフェイスを使用して多数のオブジェクトを作成すると、大量のオブジェクトが生成されます重複コードの数。

⑵ファクトリーモード。

①ファクトリパターンは、関数内にオブジェクトを作成する文を記述し、パラメータを渡して特定のオブジェクトを作成し、最後に作成したオブジェクトを返すというものです。

関数 createperson() は、受け取ったパラメーターに基づいて、必要なすべての情報を含む Person オブジェクトを構築できます。

この関数は何度でも呼び出すことができ、毎回 2 つのプロパティと 1 つのメソッドを含むオブジェクトを返します。

②欠点: ファクトリ パターンは複数の類似したオブジェクトを作成できますが、オブジェクトの識別の問題、つまりオブジェクトの種類を知る方法を解決できません。

⑶コンストラクター パターン

①欠点: コンストラクターを使用する場合の主な問題は、各メソッドをインスタンスごとに作成する必要があることです。

②ECMAScript では関数はオブジェクトであるため、関数が定義されるたびにオブジェクトがインスタンス化されます。

③つまり、コンストラクターを通じてインスタンス化される複数のオブジェクトのメソッドは複数の異なるメソッドですが、内部コードや実装される関数は同じであるため、リソースの無駄が発生します。

⑷プロトタイプパターン

①js では、各関数にプロトタイプ属性があり、これはプロトタイプオブジェクトと呼ばれるオブジェクトを指すポインタです。

②プロトタイプ パターンを使用すると、すべてのインスタンスでプロトタイプ オブジェクトのプロパティとメソッドを共有できます。つまり、コンストラクターでオブジェクト インスタンスの情報を定義する必要がありません。

③欠点: コンストラクターに初期化パラメータを渡すリンクが省略されるため、デフォルトではすべてのインスタンスが同じ属性値を取得します。

プロトタイプ パターンの最大の問題は、その共通の性質によって引き起こされます。プロトタイプ内のすべてのプロパティは多くのインスタンスによって共有されます。

この種の共有は関数に非常に適しています。参照型を含むプロパティの場合、問題はより顕著になります。

④ したがって、プロトタイプパターンが単独で使用されることはほとんどありません。

⑸ コンストラクター パターンとプロトタイプ パターンを組み合わせて使用​​する

① コンストラクター パターンとプロトタイプ パターンを組み合わせて使用​​します。これは、カスタム型を作成する最も一般的な方法です。 。

②コンストラクター パターンはインスタンス プロパティの定義に使用され、プロトタイプ パターンはメソッドと共有プロパティの定義に使用されます。

③ その結果、各インスタンスはインスタンス属性の独自のコピーを持つことになりますが、同時にメソッドへの参照を共有し、メモリを最大限に節約します。

⑹その他のモード

①動的プロトタイプモード: コンストラクターが初めて呼び出されたときのみ、プロトタイプオブジェクトの対応する属性にメソッドを割り当て、その他の処理例 このメソッドはコンストラクター パターンと同じです。

②パラサイト コンストラクター パターン: オブジェクトを作成するコードのみをカプセル化し、その後、引き続き new 演算子を使用して呼び出しを行い、新しく作成されたオブジェクトを返します。 ③安全なコンストラクタ パターン: パブリック プロパティはなく、プライベート変数とメソッド、およびプライベート変数を処理するためのいくつかの get/set メソッドのみがあります。

プログラミング関連の知識について詳しくは、

プログラミング入門

をご覧ください。 !

以上がJavaScript の 3 種類のオブジェクトとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。