A | B | C | D | E | F | G | H | I | J | L | M | N | O | P | R | S | T | U | W |

Index: F

FileUpload FileUpload.onchange FileUpload.value
focus() Form Form.action
Form.elements[] Form.encoding Form.length
Form.method Form.name Form.onreset
Form.onsubmit Form.reset() Form.submit()
Form.target Frame frames[]
Function Function.apply() Function.arguments[]
Function.arity Function.call() Function.caller
Function.length Function.prototype Function.toString()



FileUpload要素 ・・・ フォームのファイルアップロードフィールド

対応バージョン

クライアントサイドJavaScript 1.0

継承元

Input、HTMLElement

コーディング形式

form.name
form
.elements[i]

プロパティ

FileUpload要素はInputオブジェクトとHTMLElementオブジェクトからプロパティを継承しています。また、次のプロパティを定義または上書きしています。

value    読み出し専用の文字列。テキスト入力フィールドに入力された値のこと(この値はフォームの送信時にサーバへ送られます)。Navigator 2の場合、このフィールドは常にブランクです。Navigator 3の場合、ユーザが指定したファイル名は読み出せますが、設定はできません。

メソッド

FileUpload要素はInputオブジェクトとHTMLElementオブジェクトからメソッドを継承しています。

イベントハンドラ

FileUpload要素はInputオブジェクトとHTMLElementオブジェクトからイベントハンドラを継承しています。また、次のイベントハンドラを定義または上書きしてます。
onchange()    ユーザがFileUpload要素の値を変更しキーボードフォーカスをほかの場所へ移したときに呼び出されます。このイベントハンドラは、ユーザがFileUpload要素内でキーボードを操作するたびに呼び出されるのではなく、ユーザが編集作業を完了したときに呼び出されます。

HTML構文

FileUpload要素を生成する場合は、HTMLの<INPUT>タグのさまざまな属性を設定します。

<FORM ENCTYPE="multipart/form-data"
      METHOD=post>		必須属性。
    ...
  <INPUT
    TYPE"file"		FileUpload要素の指定。
    [ NAME="name" ]		この要素を参照するときに使用する名前。
			nameプロパティの値になる。
    [ SIZE=integer ]	要素の大きさを文字数で指定する。
    [ MAXLENGTH=integer ]	最大入力文字数。
    [ onBlur="handler" ]	onblur()イベントハンドラ。
    [ onChange="handler" ]	onchange()イベントハンドラ。
    [ onFocus="handler" ]	onfocus()イベントハンドラ。
  >
    ...

解説

FileUpload要素はフォーム内のファイルアップロード入力要素のことです。いろいろな点で、この入力要素はText要素に似ています。画面上ではディレクトリブラウザをオープンするBrowseボタンの付いたテキスト入力フィールドとして表示されます。FileUpload要素にファイル名を(直接あるいはディレクトリブラウザを介して)入力すると、Netscapeはそのファイルの内容をフォームといっしょに送信します。そのためには、フォームが"multipart/form-data"エンコーディングを使い、POSTメソッドを使用しなければなりません。
FileUpload要素はdefaultValueプロパティを持ちません。入力フィールドの初期値を指定するHTMLのVALUE属性も認識しません。同様にFileUpload要素のvalueプロパティは読み出し専用です。ファイル名を入力できるのはユーザだけです。JavaScriptからFileUploadフィールドに文字テキストを入力することはできません。これはJavaScriptプログラムを悪用してユーザのマシンからファイルを盗んでアップロードするのを防止するためです。

関連項目

FormHTMLElementInputText



FileUpload.onchangeハンドラ ・・・ 入力値が変更されたときに呼び出される

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

  <INPUT TYPE=file onChange="handler"...>ハンドラの定義。
  fileupload.onchangeハンドラへの参照。

解説

FileUpload要素のonchangeプロパティは、ユーザが入力フィールドの値を変更して(直接入力したり、Browseボタンを使うことなど)からキーボードフォーカスをほかの場所へ移した(マウスをほかの場所でクリックしたり、TabやReturnキーを押すことなど)ときに呼ばれるイベントハンドラへの参照です。このハンドラは入力値の変更が確定したときに実行されるのであって、ユーザがキーボードから文字を入力するたびに実行されるわけではありません。   このプロパティの初期値は、HTMLタグのonChange属性で指定されたJavaScript文(文と文はセミコロンで区切られる)を含む関数です。イベントハンドラがHTML属性で定義された場合は、スコープはウィンドウではなく、HTML要素になります。
Navigator 4では、onchangeハンドラは、引数としてEventオブジェクトが渡されます。一方、IE 4では何も引数に渡されませんが、elementを含むWindowオブジェクトのeventプロパティとして適切なEventオブジェクトが利用できます。

関連項目

Input.onchange、15章



FileUpload.valueプロパティ ・・・ ユーザが選択したファイル名

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

fileupload.value

解説

FileUploadオブジェクトのvalueプロパティは読み出し専用の文字列です。このプロパティは、ユーザがFileUploadオブジェクトに入力したファイル名のことです。ファイル名の入力方法は2つあります。第1は、キーボードから直接入力する方法です。第2は、FileUploadオブジェクトのディレクトリブラウザを利用する方法です。
悪意のプログラムがクライアントからファイルを盗んでアップロードするのを防止するために、このプロパティをJavaScriptコードから設定することはできません。また、<INPUT>タグのVALUE属性にこのプロパティのデフォルトを指定することもできません。



focus()メソッド ・・・ Window.focus()を参照



Formオブジェクト ・・・ HTML入力フォーム

対応バージョン

クライアントサイドJavaScript 1.0

継承元

HTMLElement

コーディング形式

document.form_name
document
.forms[form_number]

プロパティ

FormオブジェクトはHTMLElementオブジェクトからプロパティを継承しています。そして、次のようなプロパティを定義または上書きしています。

action    読み書きが可能な文字列。フォーム送信先のURLのこと。初期値はACTION属性で設定します。
elements[]    フォームに表示する入力要素の配列。フォーム要素には、Button、Checkbox、Hidden、Password、Radio、Reset、Select、Submit、Text、Textareaオブジェクトがあります。
elements.length    elements[]配列内の項目数。
encoding    読み書きが可能な文字列。フォームデータをエンコードする方法のこと。初期値はENCTYPE属性で設定します。デフォルトは"application/x-www-form-urlencoded"。これが一番推奨できます。
length    フォーム内にある要素の数。elements.lengthプロパティと同じです。
method    読み書きが可能な文字列。フォームを送る方法のこと。この値は "get"または"post"。初期値はMETHOD属性で設定します。
name    フォームの名前。NAME属性で設定します。
target    読み書きが可能な文字列。フォームの送信結果を表示するフレームまたはウィンドウの名前のこと。初期値はTARGET属性で設定します。targetプロパティとTARGET属性は、"_top"、"_parent"、"_self"、"_blank"という特殊な名前もサポートしています。

メソッド

FormオブジェクトはHTMLElementオブジェクトからメソッドを継承しています。また、次のようなメソッドを定義しています。

reset()    フォームの入力要素を個々のデフォルト値に戻します。
submit()    フォームを送ります。

イベントハンドラ

FormオブジェクトはHTMLElementオブジェクトからイベントハンドラを継承し、次のようなイベントハンドラを定義しています。
onreset()    フォームの要素をリセットする直前に呼び出されます。onReset属性で設定します。
onsubmit()    フォームの要素を送る直前に呼び出されます。onSubmit属性で設定します。このイベントハンドラを使えばフォームのエントリを検証してから送信できるようになります。

HTML構文

標準HTMLの<FORM>タグでFormオブジェクトを生成します。JavaScriptはこのタグにonReset属性とonSubmit属性を追加しました。この2つの属性は省略可能です。&lt;FORM></FORM>の間に<INPUT>タグなどで生成された入力要素をこのFormオブジェクトは保持します。
<FORM
    [ NAME="form_name" ]	JavaScriptで使用するフォーム名。
    [ TARGET="window_name" ]	応答用のウィンドウ名。
    [ ACTION="url" ]		フォーム送信先のURL。
    [ METHOD=(GET|POST) ]	フォームの送信方法。
    [ ENCTYPE="encoding" ]	フォームデータのエンコード方法。
    [ onReset="handler" ]	フォームのリセット時に呼び出すハンドラ。
    [ onSubmit="handler" ]	フォームの送信時に呼び出すハンドラ。
>
フォームのテキストや<INPUT>タグをここに記述する。
</FORM>

解説

Formオブジェクトは、ドキュメント内の<FORM>HTMLタグに対応します。ドキュメント内の個々のフォームはDocument.forms[]配列の要素に対応します。フォームに名前をつけた場合はドキュメントに同名のプロパティができます。フォームの名前は<FORM>タグのNAME属性で設定します。
フォームの要素(ボタン、入力フィールド、チェックボックスなど)はForm.elements[]配列に格納されます。名前の付いた要素は、名前の付いたフォームと同じように、名前で直接参照できます。要素名はFormオブジェクトのプロパティ名として使用されます。したがって、例えばフォーム"questionnaire"内のオブジェクトTextの要素"phone"は、次のJavaScript式で参照できます。

document.questionnaire.phone

詳細はFormオブジェクトのプロパティとメソッドの項を参照してください。

関連項目

ButtonCheckboxFileUploadHiddenInputPasswordRadioResetSelectSubmitTextTextarea、16章



Form.actionプロパティ ・・・ フォーム送信先のURL

対応バージョン

クライアントサイドJavaScript 1.0。IE 3では、読み出しのみ。

コーディング形式

form.action

解説

Formオブジェクトのactionプロパティは読み書きが可能な文字列です。このプロパティは、フォームの送信時にフォームデータを送る宛先のURLになります。<FORM>HTMLタグのACTION属性で設定します。通常、このURLとしてCGIスクリプトを指定しますが、「mailto:」や「news:」の形式も可能です。
IE 3でもこのプロパティを設定できますが、フォームの送信方法には影響がありません。



Form.elements[]プロパティ ・・・ フォームの入力要素

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

form.elements[i]
form.elements.length

解説

form.elementsformのフォーム入力オブジェクトの配列です。elements.lengthはこの配列に格納される項目数を示します。フォーム入力要素の型は、Button、Checkbox、Hidden、Password、Radio、Reset、Select、Submit、Text、Textareaです。これらのフォーム入力オブジェクトは、対応するHTMLソースコードでの順序と同じ順番で配列に格納されます。

使用上のヒントと注意

form.elements[]配列の項目が、HTMLの<INPUT>タグのNAME="name"属性で設定した名前を持つなら、その項目名がformのプロパティになり、このプロパティでその項目を参照できるようになります。したがって以下に示すように、番号ではなく名前で入力オブジェクトを指定できます。

form.name

通常、番号より名前のほうが参照しやすいので、すべてのフォーム要素のNAME属性を設定することを勧めます。

関連項目

ButtonCheckboxFormHiddenInputPasswordRadioResetSelectSubmitTextTextarea



Form.encodingプロパティ ・・・ フォームデータのエンコーディング

対応バージョン

クライアントサイドJavaScript 1.0。IE 3では読み出しのみ。

コーディング形式

form.encoding

解説

Formオブジェクトのencodingプロパティは読み書きが可能な文字列です。フォームの送信時にフォームのデータをエンコードする方法を指定します。このプロパティの初期値は<FORM>タグのENCTYPE属性で設定します。デフォルト値は"application/x-www-form-urlencoded"です。通常はこのデフォルト値で間に合いますが、ほかの値が必要になる場合もあります。例えば、「mailto:URL」を使って電子メールでフォームを送る場合は、"text/plain"のほうが便利です。詳細は、O'Reilly & Associates社発行の『CGI Programming on the World Wide Web(日本語版:『CGIプログラミング』、オライリー・ジャパン発行』*を参照してください。
IE 3でもこのプロパティを設定できますが、フォームの送信方法に影響を与えることはできません。

  *『CGIプログラミング』Shishir Gundavaram著、田辺茂也監訳(オライリー・ジャパン発行)



Form.lengthプロパティ ・・・ フォーム内の要素数

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

form.length

解説

Formオブジェクトのlengthプロパティは、フォームの中にある要素の数です。このプロパティはform.elements.lengthプロパティと同じです。



Form.methodプロパティ ・・・ フォームの送信方法

対応バージョン

クライアントサイドJavaScript 1.0。IE 3では読み出しのみ。

コーディング形式

form.method

解説

Formオブジェクトのmethodプロパティは読み書きが可能な文字列です。フォームの送信方法を指定します。このプロパティの初期値は<FORM>タグのMETHOD属性で設定します。有効な値はGETPOSTです。
デフォルトはGETです。通常は、副作用を伴わないデータベース検索などでフォームを送信する場合に使用します。この方法でエンコードされたフォームデータは、Form.actionプロパティで指定されたURLに付加されます。通常、CGIはこの方法で送信されたフォームを受け取ると、環境変数QUERY_STRINGからフォームデータを読み出します。
POSTは、副作用を伴ったデータベースへの追加などでフォームを送信する場合に使用します。この方法では、エンコードされたフォームデータは、HTTP要求の本体として送られます。CGIスクリプトは標準入力ストリームからフォームデータを読み出します。
IE 3でもこのプロパティを設定できますが、フォームの送信方法には影響を与えません。



Form.nameプロパティ ・・・ フォームの名前

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

form.name

解説

nameプロパティはフォームの名前を表します。このプロパティは読み書きが可能な文字列です。nameプロパティの初期値は、<FORM>タグのNAME属性の値になります。



Form.onreset()ハンドラ ・・・ フォームのリセット時に呼び出される

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

<FORM...onReset="handler"...> ハンドラの定義。
form.onreset

解説

Formオブジェクトのonreset()イベントハンドラは、フォームがリセットされるときに呼び出されます。フォームのリセットは、Form.reset()メソッドが呼び出されたときか、あるいはユーザがResetボタンをクリックしたときに行われます。
このイベントハンドラは、フォームの<FORM>タグのonReset属性に指定したJavaScript文です。JavaScript文が複数ある場合は、セミコロンで区切ります。HTML属性でイベントハンドラが定義された場合は、スコープはウインドウではなく、フォーム要素になります。
Navigator 4では、onresetハンドラは、引数としてEventオブジェクトが渡されます。一方、IE 4では何も引数に渡されませんが、Windowオブジェクトのeventプロパティとして適切なEventオブジェクトが利用できます。
onresetイベントハンドラがfalseを返した場合、そのフォームの要素はリセットされません。

使用例

「フォームをリセットすると、データはすべて消えてしまいます。本当にリセットしてよいですね?」とユーザに確認するイベントハンドラの例を以下に紹介します。

<FORM ... onReset="return confirm('フォームをリセットすると、データはすべて消えてしまいます。本当にリセットしてよいですね?')" >

関連項目

Form.onsubmitForm.reset()、16章



Form.onsubmit()ハンドラ ・・・ フォームの送信時に呼び出される

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

<FORM...onSubmit="handler"...>
form.onsubmit

解説

Formオブジェクトのonsubmit()イベントハンドラは、フォームが送信されるときに呼び出されます。フォームの送信は、そのフォームのsubmit()メソッドが呼び出されたか、あるいはユーザがSubmitボタンをクリックしたときに行われます。
このイベントハンドラは、フォームの<FORM>タグのonSubmit属性に指定したJavaScript文です。JavaScript文が複数ある場合は、セミコロンで区切ります。HTML属性でイベントハンドラが定義された場合は、スコープはウインドウではなく、要素になります。
Navigator 4では、onsubmitハンドラは、引数としてEventオブジェクトが渡されます。一方、IE 4では何も引数に渡されませんが、Windowオブジェクトのeventプロパティとして適切なEventオブジェクトが利用できます。
onsubmit()イベントハンドラの使用目的は、通常、ネットワーク経由でサーバに送る前にユーザが入力したデータが有効であることを確認することです。データが無効であった場合、onsubmit()イベントハンドラはfalseを返すことで、フォームの送信を取り消します。このハンドラがそれ以外の値を返すかあるいは何も返さなかった場合は、そのフォームは正常に送信されます。

関連項目

Form.submit()、16章



Form.reset()メソッド ・・・ フォームの要素をリセットする

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

form.reset()

解説

reset()メソッドは指定したフォームをリセットします。つまり、そのフォームの個々の要素をそのデフォルト値に戻します。これは、ユーザがResetボタンを押したのと同じです。最初にフォームのonreset()イベントハンドラが呼び出されます。このイベントハンドラがfalseを返すと、リセットは実行されません。



Form.submit()メソッド ・・・ フォームの送信

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

form.submit()

解説

submit()メソッドが呼び出されると、ユーザがSubmitボタンを押したときと同じように、指定されたformが送信されます。フォームの送信方法は、formのプロパティ(action、method、encoding)あるいは<FORM>タグの属性(ACTION、METHOD、ENCTYPE)で指定します。送信結果を表示するウィンドウやフレームは、targetプロパティまたはTARGET属性で指定します。
submit()メソッドの呼び出しと、ユーザによるSubmitボタンの押下には1つ大きな相違があります。それは、submit()メソッドを呼び出してもonsubmit()イベントハンドラは呼び出されないことです。ですから、例えばonsubmit()を使って入力を検証したい場合は、submit()メソッドを呼び出す前に明示的にonsubmit()を呼び出す必要があります。

使用上のヒントと注意

プログラムでsubmit()メソッドを呼び出す方法より、ユーザがSubmitボタンを押してフォームを送信する方法のほうが一般的です。



Form.targetプロパティ ・・・ フォームの送信結果を表示するウィンドウ

対応バージョン

クライアントサイドJavaScript 1.0。IE 3では読み出しのみ。

コーディング形式

form.target

解説

Formオブジェクトのtargetプロパティは読み書きが可能な文字列です。formの送信結果を表示するウィンドウまたはフレームの名前を指定します。初期値は、<FORM>タグのTARGET属性で設定します。この属性を設定しなかった場合は、そのフォームと同じウィンドウに送信結果が表示されます。
targetプロパティの値は、実際のフレームやウィンドウそのもののではなくフレームやウィンドウのnameです。フレーム名は、<FRAME>タグのNAME属性で設定した名前です。ウィンドウ名は、Window.open()メソッドでウィンドウを生成したときに指定した名前です。targetプロパティで指定したウィンドウ名が実際に存在していなかった場合、Navigatorは自動的に新しいウィンドウをオープンし、その新ウィンドウにフォームの送信結果を表示します。それ以降、同じtarget名が指定されたフォームは、先ほど新規に生成したウィンドウを使用します。
特殊なターゲット名が4つあります。第1は"_blank"です。"_blank"を指定すると、新たに空のウィンドウが生成され、そのウィンドウにフォームの送信結果が表示されます。第2は、デフォルトの"_self"です。"_self"を指定すると、フォームと同じウィンドウまたはフレームにフォームの送信結果が表示されます。第3は"_parent"です。"_parent"を指定すると、フォームを保持するフレームの親フレームにフォームの送信結果が表示されます。第4は"_top"です。"_top"を指定すると、最上位のフレームに送信結果が表示されます。言い換えると、すべてのフレームが取り除かれて、ブラウザウィンドウ全体にフォームの送信結果が表示されます。
IE 3の場合は、このプロパティを設定しても無視されます。

関連項目

Link.target



Frameオブジェクト ・・・ Windowオブジェクトの一種

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

window.frames[i]
window.frames.length
frames[i]
frames.length

解説

便宜上Frameオブジェクトという呼び方をしましたが、厳密に言うとそのようなオブジェクトはありません。ブラウザウィンドウ内のすべてのフレームはWindowオブジェクトのインスタンスです。これらのインスタンスは、Windowオブジェクトと同じプロパティ、メソッド、イベントハンドラを保持します。詳細はWindowオブジェクトの項を参照してください。
Windowオブジェクトには、最上位のブラウザウィンドウと、ブラウザウィンドウ内のフレームにそれぞれ相当するものがあり、両者には次のような相違があります。

  • defaultStatusプロパティが設定されていた場合、指定されたステータスメッセージが表示されるのは、そのフレーム内にマウスがあるときだけです。
  • 最上位のブラウザウィンドウのtopプロパティとparentプロパティは、常に最上位ウィンドウ自身を参照します。これらのプロパティが実際に役立つのはフレームだけです
  • close()メソッドはフレームに相当するWindowオブジェクトには使えません

関連項目

Window



frames[]プロパティ ・・・ Window.frames[]を参照



Functionオブジェクト ・・・ JavaScript関数

対応バージョン

コアJavaScript 1.0。JavaScript 1.1、1.2で機能拡張

コーディング形式


function functionname(argument_name_list)	関数の定義。
{ body } function (argument_name_list) { body } 無名関数の定義(JavaScript 1.2)。 functionname (argument_value_list) 関数の呼び出し。


コンストラクタ

new Function(argument_names, body)    JavaScript 1.1以降。

引数

argument_names    任意個数の文字列引数。生成するFuctionオブジェクトの引数名。
body    関数の本体。ここにJavaScript文を指定します。複数の文はセミコロンで区切ります。

プロパティ

arguments[]    関数へ渡された引数の配列。このプロパティを使うことは推奨されていません。
arity    関数を定義したときの仮引数の数。
caller    このFunctionオブジェクトを呼び出したFunctionオブジェクトへの参照。この関数を最上位で呼び出した場合はnullになります。このプロパティを使うことは推奨されていません。
length    関数を定義したときの仮引数の数。
prototype    コンストラクタ関数の場合は、その関数で生成したすべてのオブジェクトで共有するプロパティとメソッドを定義するオブジェクト。

メソッド

apply()    指定したオブジェクトのメソッドを関数として呼び出します。呼び出す際には、引数の配列を渡すことができます。
call()    指定したオブジェクトのメソッドを関数として呼び出します。呼び出す際には、引数のリストを渡すことができます。
toString()    関数を文字列に変換した値を返します。

解説

関数はJavaScriptの基本的なデータ型の1つです。この関数の定義法と使用法については、「7章」を、メソッドやコンストラクション、関数のprototype属性など関連するトピックについては「8章」を参照してください。詳細はこの2つの章を参照してください。
JavaScript 1.1では、argumentsという名前のローカル変数が関数に割り当てられています。この変数はArgumentsオブジェクトへの参照です。このArgumentsオブジェクトは、関数に渡された引数の配列です。このオブジェクトには便利なプロパティがいくつか定義されています。詳細はArgumentsオブジェクトを参照してください。

関連項目

Arguments、7章と8章



Function.apply()メソッド ・・・ オブジェクトのメソッドを関数として呼び出す

対応バージョン

Navigator 4

コーディング形式

function.apply(thisobj, args)

引数

thisobj    functionを呼び出すオブジェクト。関数の内部では、thisobjthisキーワードになります。
args    functionへ渡される引数の配列。

リターン値

functionが返す値。

解説

apply()メソッドはthisobjのメソッドとしてfunctionを呼び出します。このとき、args配列を引数として渡します。リターン値は、functionのリターン値になります。



Function.arguments[]プロパティ ・・・ 関数に渡された引数

対応バージョン

コアJavaScript 1.0 、ECMA-262。このプロパティは推奨されなくなっているので、Argumentsオブジェクトを使うようにしてください。

コーディング形式

function.arguments[i]
function.arguments.length

解説

Functionオブジェクトのargumentsプロパティは関数に渡された引数の配列です。arguments.lengthプロパティは配列の要素数です。JavaScriptでは関数に渡す引数の個数と型に制限はありません。したがって、arguments[]配列を利用すれば、さまざまな引数を使った関数を作成できます。
関数のargumentsプロパティは、関数が実行されている間だけ定義されます。また、関数の内部だけで有効です。このプロパティを使うことは推奨されなくなっているので、Argumentsオブジェクトを使うようにしてください。

関連項目

Arguments



Function.arityプロパティ ・・・ 関数定義上の引数の

対応バージョン

Navigator 4(LANGUAGE="JavaScript1.2"と指定した場合のみ)

コーディング形式

function.arity

解説

このプロパティは、関数を定義したときに宣言した引数の数を表します。このプロパティはFunction.lengthプロパティと同じです。しかし、arityのほうがArguments.lengthと混同しにくい名前だと思います。<SCRIPT>タグでNavigator 4でLANGUAGE属性にJavaScript1.2と明示的に指定した場合のみ、Functionオブジェクトのarityプロパティが使用可能になります。

関連項目

Arguments.lengthFunction.length



Function.call()メソッド  ・・・ オブジェクトのメソッドを関数として呼び出す

対応バージョン

JavaScript 1.3

コーディング形式

function.call(thisobj, arg1, arg2, ...)

引数

thisobj functionを呼び出すオブジェクト。関数の内部では、thisobjはthisキーワードになります。
arg1,arg2,... functionへ渡される引数の配列。

リターン値

functionが返す値。

解説

call()メソッドはthisobjのメソッドとしてfunctionを呼び出します。このとき、引数リストが渡せます。リターン値は、functionのリターン値になります。



Function.callerプロパティ ・・・ 呼び出し元の関数

対応バージョン

コアJavaScript 1.0

コーディング形式

function.caller

解説

Functionオブジェクトのcallerプロパティは現在の関数を呼び出した関数の参照です。呼び出し元がJavaScriptプログラムの最上位関数である場合、callerの値はnullです。このプロパティは関数内でしか使用できません。つまりcallerプロパティは実行中の関数にしか定義されていません。
Navigator 4では、Arguments.callerプロパティが似たような情報を持っています。Function.callerプロパティは、ECMA-262標準ではないことに注意してください。

関連項目

Arguments



Function.lengthプロパティ ・・・ 宣言した引数の数

対応バージョン

コアJavaScript 1.1、ECMA-262

コーディング形式

function.length

解説

関数のlengthプロパティは、関数定義の際に宣言された仮引数の数を表します。実際に関数に渡される引数の数は、このプロパティの値よりも多いかもしれませんし、少ないかもしれません。

バグ情報

このプロパティはNavigator 4では正しく機能しません。

関連項目

Arguments.lengthFunction.arity



Function.prototypeプロパティ ・・・ オブジェクトのクラスのプロトタイプ

対応バージョン

コアJavaScript 1.1

コーディング形式

function.prototype

解説

ある関数をコンストラクタ関数として使用したときだけ、その関数のprototypeプロパティは有効です。
prototypeオブジェクトはオブジェクトのクラス全体のプロトタイプとして使えます。コンストラクタで生成されたオブジェクトは、そのプロトタイプのプロパティとメソッドをすべて継承するからです。
コンストラクタ関数、prototypeプロパティ、クラスの定義については、「8章」を参照してください。

バグ情報

Navigator 3の場合は、コンストラクタを1回使用したあとでなければ、そのプロトタイプオブジェクトに値を代入できません。

関連項目

8章



Function.toString()メソッド ・・・ 関数を文字列に変換する

対応バージョン

コアJavaScript 1.0、ECMA-262

コーディング形式

function.toString()

リターン値

関数を文字列に変換したもの。

解説

FunctionオブジェクトのtoString()は関数を文字列に変換するメソッドです。Navigator で有効なJavaScriptコード(functionキーワード、引数リスト、関数の本体など)を文字列に変換したものを返します。Internet Explorer 3.0の場合、toString()メソッドは、関数に相当する文字列は返しますが、この文字列は関数を構成するJavaScriptコードは含みません。

 



トップページに戻る