Questions tagged [javascript]

JavaScriptとは、プログラミング言語のひとつである。Javaと名前が似ているが、異なるプログラミング言語である。 オブジェクト指向のスクリプト言語であることを特徴とする。 実行環境が主にウェブブラウザに実装され、動的なウェブサイト構築や、リッチインターネットアプリケーションなど高度なユーザインタフェースの開発に用いられる。

JavaScriptという言葉は、狭義にはMozillaが仕様を策定し実装しているスクリプト言語を指す。

このスクリプト言語はEcmaインターナショナルでECMAScript (ECMA-262) として標準化されており、多くのWebブラウザ等はこの標準化されたECMAScriptを実装している。

たとえば、マイクロソフトによる実装はJScriptと呼ぶ。

一般的にJavaScriptという言葉が使われるときは、このようなさまざまなECMAScriptの実装も含んだ幅広い意味で使われる場合も多いので、どちらの意味でJavaScriptという言葉が使われているかは文脈で判断する必要がある。
ECMAScriptは仕様自体に独自の拡張を条件付きで認める記述があり、現在主要なブラウザが実装しているスクリプト言語はすべてECMAScriptに準拠していることになる。
広義の意味でこれをJavaScriptと呼ぶ場合、主要なブラウザが実装しているスクリプト言語はマイクロソフトやGoogle, Appleの実装も含めてJavaScriptである。

なお、Webブラウザーでよく実装されているAPIであるDOM (Document Object Model) はECMAScriptの仕様の一部ではないので、DOMの準拠の有無はECMAScriptの準拠の有無とは関係ない。

読むと長く、またJavaと略すことができない(Javaというプログラム言語がある)ため、一般にJS(ジェイエス)と略される。

2766 questions
18
votes
1 answer

JavaScriptからファイルをダウンロードさせるのはどうしたら良いですか?

ブラウザーでダウンロードリンクを踏んだときのようにJavaScriptからファイルをダウンロードさせたいのですが、どのようにしたら良いでしょうか? $.getJSON('/data.json', function(data) { // ファイルダイアログを表示して、指定したファイルへ data を書き込む });
niu
  • 2,000
  • 6
  • 34
  • 44
17
votes
7 answers

function hoge() と hoge = function() の違いは?

JavaScriptでの関数定義には2つあるみたいですが、違いや使い分けがわからないので教えて下さい。 パターン1 function hoge(a, b) { ... } パターン2 var hoge = function(a, b) { ... } どちらも実行するときはhoge(a, b);でよいのでしょうか。
user5855
  • 1,453
  • 6
  • 23
  • 34
12
votes
5 answers

Javascriptの仕様で「オブジェクトは共有渡しで、プリミティブ値は値渡し」と区別しているのか

JavaScriptの参照に関する記事でよく、オブジェクトは共有渡しで、プリミティブ値は値渡しと書かれていますが、仕様書をみても当該の記述を見つけられません。 仕様書を読む限り区別がない、つまり全てが値渡しの様に見えてしまいます。 もしくはReference型にbaseとして格納されているのは値を構成するデータ配列ではなく、値の存在そのもの、つまり参照(ポインタ)に近い概念であって、結局実は全部が共有渡しということなのでしょうか? 例えばProperty…
JSer
  • 592
  • 3
  • 10
9
votes
1 answer

String.fromCharCode で難読化された JavaScript の解読方法を教えてください

WordPressのアップデートをしていないブログのソースコードが改竄されています。難読化されたJavascriptが書き込まれています。