JavaScript
大学の教科書
自然科学: 数学 - 物理学; 古典力学 量子力学 - 化学; 無機化学 有機化学 - 生物学; 植物学 研究技術 - 地球科学 - 医学; 解剖学
語学: 日本語 英語 エスペラント 朝鮮語 デンマーク語 ドイツ語 フランス語 ラテン語 ルーマニア語
人文科学: 歴史学; 日本史 中国史 世界史 歴史観 - 心理学 - 哲学 - 芸術; 音楽 美術 - 文学; 古典文学 漢詩
社会科学: 法学 - 経済学 - 地理学 - 教育学; 学校教育 教育史
情報技術: 情報工学; MS-DOS/PC DOS UNIX/Linux TeX/LaTeX CGI - プログラミング; BASIC C言語 C++ D言語 HTML Java JavaScript Lisp Mizar Perl PHP Python Ruby Scheme SVG
小・中・高校の教科書
小学: 国語 算数 理科 社会
中学: 国語 社会 数学 理科 英語
高校: 国語 - 地歴 - 公民 - 数学; 公式集 - 理科; 物理 化学 地学 生物 - 外国語 - 情報
解説書・実用書・参考書
趣味 :料理本 - スポーツ - ゲーム
試験 :資格試験 - 入学試験
その他の本: 防災 - 生活と進路 - ウィキペディアの書き方 - ジョーク集
JavaScriptはプログラミングを始めたい初心者の方にもやさしいプログラミング言語です。たいていのウェブブラウザにはJavaScriptを実行するJavaScriptエンジンが内蔵されており、たいていのオペレーティングシステムにはウェブブラウザがはじめからインストールされているので、開発環境をそろえるのに特別な準備は必要ありません。
Chrome、Internet Explorer、Mozilla Firefox、Opera、Safariなどのウェブブラウザで採用されているJavaScript (JScript) は、おおむね1999年に策定されたECMA-262第3版 (ECMAScript 3.0) に準拠しています。これはJavaScript 1.5に相当します。2009年12月に策定されたECMA-262第5版 (ECMAScript 5.0)、そして現在策定中のECMAScript Harmonyは、JavaScript 2.0の基礎になる予定です。
目次 |
目次 [編集]
- はじめに
- 基礎
- DOM
(2013-05-04)
- 応用
- リファレンス
はじめに [編集]
まずはソフトウェアを開発するのに必要な環境を整えることから始めましょう。プログラムを作成したり、デバッグしたり、メンテナンスしたりするのに必要なソフトウェアをプログラミングツール (programming tool) またはソフトウェア開発ツール(ソフトウェアかいはつツール、software development tool)といいます。
とはいっても、JavaScriptはたいていのウェブブラウザでサポートされているので、最低限のプログラムを作成するのに特別な準備は必要ありません。オペレーティングシステムを起動して、ウェブブラウザを起動すれば、準備は終了です。ウェブページにJavaScriptプログラムを埋め込みたい場合は、テキストエディタも用意する必要がありますが、これもたいていのオペレーティングシステムには付属しているので、特にインストールする必要はありません。
JavaScriptインタプリタ [編集]
シェルからJavaScriptコードを実行するにはJavaScriptインタプリタをインストールします。
SpiderMonkey [編集]
公式サイトはSpiderMonkey (JavaScript-C) Engineです。最新のtarballはhttp://ftp.mozilla.org/pub/mozilla.org/js/からダウンロードすることができます。ビルドに関する公式な情報はSpiderMonkey Build Documentation - MDCを参照してください。
% sudo aptitude install spidermonkey-bin
デバッガ [編集]
インターネット上にはデバッグに便利なツールが多数公開されていますので、必要に応じて使ってみるとよいでしょう。
- DebugBar - Internet Explorer用ツールバー
- Firebug - Mozilla Firefox用デバッグツール
- Web Developer Toolbar for Opera - Opera用開発支援ツール(英語)
Firebugなどの多くのデバッガやJavaScriptコンソールには、コンソールにログを残すconsole.log
メソッドや、ベンチマークを開始するconsole.time
メソッド、ベンチマークを終了するconsole.timeEnd
メソッドなど便利なメソッドがたくさん定義されています。JavaScriptコンソールは手軽にJavaScriptコードを実行してみたい初心者の方はもちろん、中級以上のJavaScriptプログラマにとっても日々の作業に欠かせないツールです。
Hello world [編集]
JavaScriptは標準ストリームと呼ばれる入出力インタフェースを言語仕様として備えていません。そのため、K&Rに由来するHello worldプログラム("Hello, world!" という文字列を表示するだけのプログラム)の書き方は実行環境によって異なります。
ウェブブラウザ [編集]
ウェブブラウザ上のJavaScriptでは、ウェブブラウザに実装された様々なメソッドを使用してHello worldプログラムを書くことができます。
alert("Hello, world!");
alertメソッドは警告ダイアログを表示します。ウェブブラウザ上でのJavaScriptの書き方はいくつかあります。
HTMLドキュメント [編集]
HTMLドキュメントにJavaScriptのソースコードを埋め込むには、script要素を用います。
<!DOCTYPE html> <html> <head> <title>Hello world</title> <script type="text/javascript"> alert("Hello, world!"); </script> </head> <body> <h1>Hello world</h1> <p>このウェブページは "Hello, world!" という警告ダイアログを表示します。</p> </body> </html>
あるいは、HTMLドキュメントとJavaScriptのソースコードを別のファイルに分割することもできます。
- hello.js
alert("Hello, world!");
- hello.html
<!DOCTYPE html> <html> <head> <title>Hello world</title> <script type="text/javascript" src="hello.js"></script> </head> <body> <h1>Hello world</h1> <p>このウェブページは "Hello, world!" という警告ダイアログを表示します。</p> </body> </html>
script要素のtype属性に指定するMIMEタイプ(MIME type、インターネットメディアタイプ、Internet media type)は、"application/javascript" または "application/ecmascript" が標準化されていますが、後方互換のため多くの場合は "text/javascript" が用いられます。
JavaScriptコンソール [編集]
いくつかのウェブブラウザでは、JavaScriptコンソールと呼ばれるコマンドラインインタプリタを使用することができます。
console.log("Hello, world!");
javascriptスキーム [編集]
たいていのウェブブラウザはjavascriptスキームのURIをサポートしています。ウェブブラウザのアドレスバーに
javascript:alert("Hello, world!");
と入力して実行すると、JavaScriptコードを実行することができます。javascriptスキームはIANAには登録されていませんが、概要を示したドキュメントが公開されている公開非登録スキームです。
シェル [編集]
KJSやRhino、SpiderMonkey、V8などのJavaScriptエンジンを単体のJavaScriptインタプリタとしてインストールすると、シェルからJavaScriptコードを実行することができます。
% kjs JS> print("Hello, world!") Hello, world! JS> % rhino js> print("Hello, world!") Hello, world! js> % smjs js> print("Hello, world!") Hello, world! js> % d8 d8> print("Hello, world!") Hello, world! d8>
JavaScriptは多くの場合クライアントサイドで実行されるスクリプト言語ですが、これらのJavaScriptエンジンを用いると、サーバサイドでJavaScriptを動かすこともできます。たとえば、JavaScriptでCGIプログラムを書くこともできるのですよ。
#!/usr/bin/js print('Content-Type: text/html; charset=UTF-8'); print(''); print([ '<!DOCTYPE html>', '<html>', '<head>', '<title>', 'Example Web Page', '</title>', '</head>', '<body>', '<p>', 'Hello, world!', '</p>', '</body>', '</html>' ].join(''));
過去の目次 [編集]
- JavaScript復習
- JavaScript 型の解説 :Null型、Undefined型、数値型、文字型
- If文の復習と、三項演算子
- ビット演算
- 多次元配列と連想配列
- ループ文復習
- 演算子の優先度と順序
- try-catch文
- その他の制御文
- オブジェクト指向言語としてのJavaScript
- JavaScriptの深層とオブジェクト
発展編 [編集]
- HTML、XML文書の操作
- XHTMLへの対応
- JavaScript_DOMプログラミング
- BOM、DOM、DOM-HTML
- JavaScript ドキュメントオブジェクトの解説 :documentオブジェクト
- 標準グローバルオブジェクト
- リファレンス