属性を指定して非同期で読み込ませることで、レンダリングへの影響を抑えることができる場合があります。機能がオフになっている場合に表示する内容を記述しておきます。コードは、外部ファイルとして別ファイルに定義(記述)することができます。外部ファイルのパスを記述します。以下のように書き換えることができます。World!');外部ファイル化することにより以下のようなメリットがあります。レイアウトとスクリプトを分離することができる。他のページからもそのコード(スクリプト)を参照して再利用することができる。式を試すことができます。キーを押して実行します。キーを押すとアラートが表示されます。実行を許可しないブラウザがほとんどです。属性に対しても利用できます。埋め込むことができます。href="javascript:alert(document.cookie);">クッキーをアラート表示</a>また、ページ上の特定の要素に対して、イベントハンドラとしてスクリプトを埋め込む方法もあります。コードは、1つ以上の文(statement)から構成されます。以下のようなルール(文法)があります。文の末尾にセミコロン「;」を付けるセミコロンは省略可能ですが、基本的には必ずそれぞれの文の末尾にはセミコロンを付けます。空白文字や改行、タブは無視されます。そのため改行やインデントを加える等することで、コードを見やすくすることが可能です。改行については注意が必要です。返す値の間に改行を入れると異なる結果になります。結果として「152399025」が表示されますが、以下の場合は「undefined(未定義値)」と表示されます。;}document.write(square(12345));これは「セミコロンは省略可能ですが」と前項で書きましたが、上記の場合実際にはセミコロンが自動的に補完されて以下のように解釈されてしまっているためです。大文字と小文字は厳密に区別されます。コメントコメントとは、コード(スクリプト)の動作には関係のないメモのようなものです。コードの要所要所にコメントを残すことで、そのコードの概要を把握しやすくなり、メインテナンス上とても重要です。コメントの書き方には以下の2種類があります。;}*/document.write(square(12345));変数(variable)変数とは、値(データ)を入れておく箱(入れ物)のようなものです。一度値を箱に入れておけば、その箱が存在する間はその値が保持されます。箱の中の値を入れ換える(変更する)ことも取り出すこともできます。変数を使うには、箱(入れ物)を作るとともに、その箱に名前を与える「宣言」をする必要があります。キーワードは、変数を宣言するための命令です)。変数名;以下は「message」という変数を宣言する例です。message;複数の変数がある場合は、それぞれ宣言する方法と、カンマ区切りでまとめて宣言する方法があります。speed;また、変数を宣言する際に、初期値を設定することができます。World!";「=」は演算子で、「右辺の値を左辺の変数に代入する」という命令です。未定義値(undefined)という値を変数に割り当てます。いうメソッドを使用して変数の値をコンソールに表示する例です。「メッセージがセットされました」とコンソールに表示されます。「メッセージが変更されました」とコンソールに表示されます。//「メッセージが変更されました」と表示グローバル・スコープとローカル・スコーププログラム中での変数の有効範囲のことをスコープと言います。スコープは、大きく「グローバル・スコープ」と「ローカル・スコープ」とに分類することができます。グローバル・スコープ:プログラム中のどこからでも有効な変数の範囲ローカル・スコープ:その変数が宣言された関数の中でのみ有効な変数の範囲また、グローバル・スコープに属する変数のことを「グローバル変数」、ローカル・スコープに属する変数のことを「ローカル変数」と呼びます。1JavaScriptでは、関数の外で定義された変数はグローバル変数、関数内部で定義された変数はローカル変数と見なされます。ローカル変数になります。同名であっても、スコープの異なる変数は異なるものと見なされます。キーワードを省略して宣言しています。キーワードが省略された場合、その変数はグローバル変数と見なされます。値「0」が出力されます。キーワード付きで定義するのが良いでしょう。myFunc();普通に(?)予想すると、3行目の出力は「global」、5行目のの出力は「local」となりそうですが、実際は、3行目の出力は「undefined」、5行目のの出力は「local」になります。文を使用して変数を宣言することができます。これらの変数は関数内のいかなる場所で宣言されたとしても、その関数の先頭で宣言されたのと同じように動作します。ローカル変数は「宣言された関数全体」で有効となります。関数の先頭から有効であるということになります。初期化されていないため「undefined」となります。このような振る舞いは「変数の巻き上げ(hoisting)」と呼ばれます。変数の巻き上げが起きないようにするには、関数の中で使用されるすべてのローカル変数を関数の先頭で宣言するようにします。書かなくてはならない場合は、以下のようにカンマ区切りでまとめて宣言するようにすると良いです。文にまとめるようにします。採用された、変数の新しい宣言方法(キーワード)です。キーワードは、ブロック内で宣言した場合、ブロックの外からアクセスできません。ブロックスコープの局所的な変数を宣言します。任意で値を代入して初期化することができます。定義された変数では、自身が定義されたブロックがスコープになります。定義されているのでブロックスコープとなり、ブロックの外からアクセスしようとすると、エラー(ReferenceError)になります。宣言された変数は値を再代入しても問題ありませんが、もう一度宣言(再宣言)することはできません。グローバル変数を定義できません。宣言してもグローバル変数にはなりません。以下のような特徴があります。同様に、ブロックスコープの局所的な変数を宣言しますが、値は再代入による変更はできず、再宣言もできません。定義されているのでブロックスコープとなり、ブロックの外からアクセスしようとすると、エラー(ReferenceError)になります。宣言された変数は値を再代入することも、再宣言することもできません。定数なので当然と言えば当然ですが。//以下のように値を再代入しようとするとエラーになります。//以下のように再宣言しようとするとエラーになります。グローバル変数を定義できません。宣言してもグローバル変数にはなりません。以下のような特徴があります。変数や関数などに名前を付与する(付ける)際は以下の規則に従う必要があります。1文字目は、英字・アンダースコア(_)・ドル記号($)のいずれかであること。2文字目以降は、1文字目で使える文字、または数字のいずれかであること。大文字・小文字は区別される。yieldデータ型データ型とは、データの種類のことです。ような論理値などのデータを扱うことができます。データ型をあまり意識しないで済む言語です。最初は文字列を格納していた変数に後で数値を格納してもエラーにはなりません。扱うことができる主なデータ型です。配列(Array)オブジェクト(Object)関数(Function)基本型と参照型の違いは、基本型の変数には、値そのものが格納されますが、参照型の変数には、その参照値(値を実際に格納しているメモリ上のアドレス)を格納している点です。(代入演算子参照)リテラルプログラム(コード)に直接記述する値のことをリテラルと言います。数値リテラル、文字列リテラル、配列リテラルなど型により記述方法が決まっています。別の言い方をすると、変数に代入する具体的な値などをリテラルと呼びます。以下は文字列リテラルと数値リテラルの例です。数値リテラル数値(Number)プログラム内に直接記述されている数字を数値リテラルといいます。数値型が1つしかありません。その数値型は、内部的には64ビットの浮動小数であり、Javaにおけるdoubleと同じ形です。独立した整数型を持っていないので、1と1.0はまったく同じ値となります。可)で数値を表します。始まる整数を記述すると、実装によっては8進数として解釈されたり、10進数として解釈されたりするので、0から始まる整数は使わないほうが良いでしょう。基本的な算術演算子には、加算(+)、減算(-)、乗算(*)、除算(/)があります。いう名前のオブジェクトのプロパティとして様々な関数が組み込まれています。コンソールに表示される。333とコンソールに表示される。四捨五入するオプションがありません。小数点第2位で四捨五入するには、以下のようにすることができます。(この場合、戻り値は文字列になります)四捨五入の他に切り捨て(Math.floor())や切り上げ(Math.ceil())等もあります。乱数Math.random()を使うと、0.0から1.0まで(1未満)の疑似乱数を発生することができます。{console.log(Math.random());}//結果の例0.28698196794069750.91468086371146520.54734239363639340.73094388038216650.88430960947385630以上10未満のランダムな整数を取得するには以下のようにします。指定された引数の値に等しいかそれ以下で最も近い整数値を返す(切り下げ)メソッドです。いう値は、通常の値を生成できない計算をした場合に得られ、自分自身も含めてどんな値ともイコールにならないという性質があります。isNaN()渡された引数を数に変換できるかどうかを試みます。