関連キーワード
JavaScript 入門 JavaScript mario JavaScript ダウンロード JavaScript 有効 JavaScript がオフになっているか JavaScript select JavaScript IF JavaScript 画像 JavaScript replace JavaScript html JavaScript 関数 JavaScript Confirm JavaScript document JavaScript onload JavaScript カレンダー JavaScript 文字列 JavaScript 日付 JavaScript settimeout JavaScript がオフになっている JavaScript イベント JavaScript function JavaScript アラート JavaScript window JavaScript submit JavaScript onclick JavaScript Cookie JavaScript for JavaScript 正規表現 JavaScript split JavaScript indexof該当キーワードの検索推移
wikipediaでの検索結果
JavaScript
JavaScript(ジャバスクリプト、ジャヴァスクリプト、ジャワスクリプト、略称:JS)はスクリプト言語である。主にWebブラウザ上で動作し、HTMLの動的書き換えや入力フォームの自動補完など、ウェブページの使用感向上を目的として使用されたり、リッチクライアントアプリケーションの構築に使われる。
特徴文法はプロトタイプベースのオブジェクト指向型である。多くの場合は、C言語に似た手続き型言語のようなスタイルで書かれるが、関数型言語とも多くの類似点がある。近年ではその柔軟な設計が評価され、様々なアプリケーションで自動実行の用途におけるマクロ言語としても採用されている。
当初は、テキストエディタで編集するだけの簡単なアプリ構築に使われていたが、近年では、IntelliJ IDEAやSpket IDEなどにより、IDEにコード補完・編集時のリアルタイム文法チェック・リファクタリングなどの機能が搭載されるようになり、大規模開発が可能となった。また、Ajaxにおける、ブラウザ間の互換性の問題は、JavaScriptライブラリにより吸収することで、大きく解決された。さらに、ExtJSなどの本格的なGUIライブラリの登場により、デスクトップアプリと差がないアプリを作ることが可能となった。また、DWRなどのJavaScriptとサーバ間をつなぐ技術の発達により、クライアント・サーバ間の通信が著しく容易になり、また、JettyなどのアプリケーションサーバがComet利用時のメモリ使用量の削減を実現したため、サーバからクライアントへの情報のPush型の配信が実用的となった。
なおJavaとScriptの間は詰めて表記する。Javaと名前や文法が似ているためしばしば混同されるが、互換性は全くない。Javaと呼ぶ場合はプログラミング言語Javaを指すので注意が必要。名前の由来については誕生を参照。
歴史誕生JavaScriptはネットスケープコミュニケーションズのBrendan Eichによって開発され、Netscape Navigator 2.0 で実装された。開発当初はLiveScriptと呼ばれていたが、1995年にSun Microsystemsの開発したプログラミング言語Javaが当時大きな注目を浴びており、NetscapeとSun Microsystemsが技術提携していた事もあった為、JavaScriptという名前に変更された。1996年にマイクロソフトのInternet Explorer3.0に搭載されるようになると、その手軽さからJavaScriptは急速に普及していく。1997年、通信に関する標準を策定する国際団体Ecma Internationalによって JavaScript の中核的な仕様がECMAScriptとして標準化され (ECMA 262, ISO/IEC 16262, JIS X 3060)、多くの Webブラウザで利用できるようになった。
ネットスケープ社は、自社サーバ製品で、WEBアプリケーション開発言語としての実装であるLiveWire JavaScriptも開発したが、こちらはあまり普及しなかった。
現在のJavaScript市場のブラウザ間互換性がある程度確立された2000年頃にはGoogleやAmazon等の大手企業もJavaScriptを積極的に利用し始めた。代表的なものとしてはGoogle マップhttp://maps.google.co.jp/やAmazon Diamond Searchhttp://www.amazon.com/gp/gsl/search/finder/等がある。2005年、JavaScriptの非同期通信を利用した技術にAjaxという名前がつけられたことによって、高機能なWebアプリケーションの開発言語の一つとして再び注目を集めている。しかし今も尚、JavaScriptによる脆弱性や攻撃は存在しており、状況が本質的に変わった訳ではない。
また、最近ではMozilla Firefox用拡張機能のGreasemonkeyやOperaの標準機能などにおいて、「User JavaScript」と呼ばれる、JavaScriptを使ったWebのカスタマイズが可能なWebブラウザも出てきている。
JavaScript 2.02000年~2003年にかけて、JavaScript 2.0 を作ろうとした動きがあったが、ネットスケープコミュニケーションズとマイクロソフトの対立でまとまらなかった。当時ネットスケープコミュニケーションズが提案していた案がアドビの ActionScript 2.0 に引き継がれ、マイクロソフトの案が JScript .NET へと引き継がれた。その後 ECMAScript 4 の策定が進められ、2006年の時点でMozilla Foundation はこれに基づいて JavaScript 2.0 を作成することを表明していた。Mozilla は ECMAScript 4 の策定にあたって Python のよさを取り込んだ案を提案しており、自身でもこれを実装している。
ただその後ECMAScriptの標準化作業が、Mozilla / Adobe / Opera / Google らが推す ECMAScript 4 と、Microsoft / Yahoo! らが推す ECMAScript 3.1に事実上分裂してしまった影響から、2008年8月に大きな方針転換が有り、JavaScript 2.0のベースを策定するプロジェクトとして新たに「ECMAScript Harmony」が発足した。同プロジェクトでは ECMAScript 3.1をベースとしつつも、ECMAScript 4 に入る予定だった機能のいくつかを取り込む形で標準を策定する予定となっている。なお、ECMAScript 4 で導入された名前空間・パッケージなどの機能は導入されない。
セキュリティ上の制限
XMLHttpRequestや、IFRAMEを使った通信では、ダウンロード元のサーバ以外のURLにアクセスすることが出来ない。
そのため、一般的には、サーバを経由して他のドメインのリソースにアクセスすることが多いが、動的scriptタグの生成などにより、他のドメインのURLにアクセスすることが可能である。
問題点
サンプルコード// ブラウザに実装され、多数の拡張が施されたJavaScriptが一般に使用される。
alert("Hello, JavaScript.")
var userName
//変数宣言。必須ではない。 userName = prompt("名前を入力して下さい","")
//入力を要求する if(userName != "") {
//名前の入力があった場合
document.write(userName, "さん、ようこそ!")
//画面に出力 } else { //名前の入力がなかった場合 document.write("名無しさん、ようこそ!") //画面に出力 } //JavaScriptでの継承の方法
function Dog() { //Dogクラスのコンストラクタ
this.state = "sitting"
//stateプロパティを設定 this.showState = function() { //showStateメソッドを定義 alert("I am " + this.state + ".") } } var normalDog = new Dog()
//DogクラスからインスタンスnormalDogを作成 normalDog.showState() //“I am sitting.”が出力される。 function LasyDog() { //LasyDogクラスのコンストラクタ
this.state = "sleeping.."
//stateプロパティをオーバーライド } LasyDog.prototype = new Dog() //LasyDogはDogを継承(※インスタンスを継承することに注意) var myDog = new LasyDog()
//LasyDogからインスタンスmyDogを作成 myDog.showState() //“I am sleeping...”が出力される。 /*
JavaScriptでは,クラスはコンストラクタによって定義される。
プロトタイプベースでは,原型(=プロトタイプ)となるインスタンスを継承して新しいクラスを作る。
そのため,継承のためには少なくとも1つインスタンスを用意する必要がある。
DOMとの関連
DOM(DocumentObjectModel)とJavaScriptの関連について述べる。DOMとはHTMLやXMLで書かれた文章にアクセスするためのAPI(の仕様)であり、一方でJavaScriptは1つのプログラミング言語である。したがって、DOMとJavaScriptはまったく独立に存在しうるものであり、JavaScript以外から呼び出されるDOM実装(例えばpythonのDOMライブラリ)や、DOMを備えないJavaScript実装(例えばSpiderMonkey)も存在する。
しかし、JavaScriptがwebサイトのリッチ化を目的として多く使われていること、DOMがHTMLのタグ属性を参照/変更する機能をもつこと、そしてJavaScriptからDOMが通常の画面出力と同様な方法で呼び出せること(たとえばFireFox上で動作するJavaScriptでは通常の画面出力にはdocument.write()が、DOMが保持するHTMLオブジェクトに新たなノードを付け加えるにはdocument.createElement()が使われる)が原因で、しばしば「DOMはJavaScriptの一部」と誤解されがちである。実際、これらが組み合わさると、あたかも「JavaScriptのみでwebサイトの文字色が動的に変更できた」かのように見える。
以上のことについては、Mozilla Developer CenterのThe DOM and JavaScriptも参照されたい。
Firefox での対応関係主な実装
主な開発環境
外部ライブラリ以下に、JavaScriptで比較的有名だと思われるライブラリを挙げる。
関連するプログラミング言語関連していると誤解されがちなプログラミング言語
関連項目
脚注外部リンク
*
---------------------------------------------- 出典:「フリー百科辞典ウィキペディア」(2009-01-01)
Text is available under GNU Free Documentation License.
|
ネットで人気のキーワード(2010年02月10日 18:13現在)
- 立松和平(319.1ポイント)
- 機動戦士ガンダム(200ポイント)
- 石川被告(125ポイント)
- 立松和平さん(105.5ポイント)
- 結婚で変わる女(100ポイント)
- ベッキー・クルーエル(100ポイント)
- 次長課長(100ポイント)
- プリウス(100ポイント)
- 泣かないと決めた日(90.4ポイント)
- 笑顔がごちそう ウチゴハン(83.3ポイント)
MicroAD
yahooブログで「JavaScript」を検索
- [JavaScript][InDesign][CS3][CS4]選択テキストを指定ライン ...(名もないテクノ手様)【16分前】
- アピシウス de ランチ、再び(アピシウス@有楽町)(資格ゲッターが行く!様)【43分前】
- [iPhone]iphone用サイトメモその1(生涯一マークアップエンジニアだっ!!様)【1時間前】
- 池田成志&荒川良々からメッセージ!「博覧會 ~世界は二人 ...(e+MOVIE[動画] 演劇・ミュージカル・バレエ様)【1時間前】
- 結果は...天気と同じ。(T.C.I.H.様)【1時間前】
- 勇者のなり方教えて下さい!(ぁゃιぃ(*゚ー゚)NEWS 2nd様)【3時間前】
- 今年こそは・・・?!(僕たちに出来る事からはじめよう。様)【3時間前】
- ツイッター始めました。(冷蔵庫のなかの幸せ 料理研究家宮成なみの日記様)【4時間前】
- Subclipse eclipseでsubversionの利用方法(PHP Linux Javascript MySQL PostgreSQL Html 入門者による ...様)【4時間前】
- [javascript]変更があったらブラウザを自動リロードするブッ ...(がむしゃらにコードを書き続けるブログ様)【4時間前】
- 京都(我楽多shop様)【4時間前】
- マニアックな話。(CREATOR - oui様)【5時間前】
- 4週間ぶりの通院日。。小雨でした(いるかちゃん ~ 躁うつ病療養中.体重監視中.禁煙中 ~ エ ...様)【5時間前】
- 懸賞ってやっぱり厳正じゃないんだね、、(ぁゃιぃ(*゚ー゚)NEWS 2nd様)【6時間前】
- 【自宅から】ドコモ ホームU 2【i-mode網へ接続】(モバイル通信様)【6時間前】
- 5桁間連続非合成鈑桁橋ほか / 琵琶湖大橋@滋賀県大津市- ...(+ + + Mother Lake + + +様)【6時間前】
- ランチ(千絵の輪様)【7時間前】
- [javascript][greasemonkey][twitter]twitterのwebページの ...(とみふらの明るく楽しい日記様)【7時間前】
- さまざまな色のメニューを簡単に作成!「jQuery CSS Menu St ...(skuare.net様)【8時間前】
- ■ダイエットできれいになれる(中年からのステップアップ術様)【8時間前】
- チャールズ・チャップリンと日本(ぁゃιぃ(*゚ー゚)NEWS 2nd様)【9時間前】
- くたばれInternet Explorer!(-O lunatico amou futebol- 西中島南方の狂乱観戦記様)【9時間前】
- 支笏湖氷濤まつり(ホノブログ様)【9時間前】
- 2010/02/13の新刊(書籍新刊案内様)【9時間前】
- 睡眠時間 通院日なので・・・(いるかちゃん ~ 躁うつ病療養中.体重監視中.禁煙中 ~ エ ...様)【10時間前】
- 海南鶏飯(汐留) 魚粥 & 牛肉とレタス粥(今日もおいしいものを求めて様)【11時間前】
- ■(めも帖様)【11時間前】
- ピュリフリー Purifree Amazon限定カラー ブルー×ホワイト(良い浄水器様)【11時間前】
- 2月10日のつぶやき(コウスケ@Ko's Style(@kosstyle) - Twilog様)【11時間前】
- 海外で見かけた注目の車(188)シトロエン・C8(TypeR日記様)【11時間前】










![Validate my RSS feed [Valid RSS]](http://navig1.sakura.ne.jp//image/valid-rss.png)