JavaScript基礎文法学習ノート
9260 ワード
1.JavaScriptの使い方
htmlのjavascriptスクリプトは間に置く必要があります.スクリプトはhtmlページのと部分に配置することができる.ブラウザはとの間にあるJavaScriptコードを解釈して実行する.以前はtype="text/javascript"宣言をラベルに使用する必要があったが、今はそうする必要はなく、ブラウザのように認識できるが、文法規範のために宣言したほうがいい.JavaScriptは、すべての現代ブラウザおよびHTML 5のデフォルトスクリプト言語です.</p>
<h1>2.JavaScript出力</h1>
<p>JavaScriptには印刷または出力関数がありません.<br> JAvaScriptは、</p>
<ul>
<li>Windowsを使用します.Alert()ポップアップ警告ボックス;</li>
<li>documentを使用します.write()メソッドhtmlドキュメントに内容を書き込む;</li>
<li>innerHTMLを使用してhtml要素に書き込む;</li>
<li>コンソールを使用log()ブラウザのコンソールに書き込む.</li>
</ul>
<p>**Windowsを使用します.alert(): **</p>
<pre><code><script>
window.alert(5 + 6);
操作HTML要素:
htmlのjavascriptスクリプトは間に置く必要があります.スクリプトはhtmlページのと部分に配置することができる.ブラウザは
<h1>2.JavaScript出力</h1>
<p>JavaScriptには印刷または出力関数がありません.<br> JAvaScriptは、</p>
<ul>
<li>Windowsを使用します.Alert()ポップアップ警告ボックス;</li>
<li>documentを使用します.write()メソッドhtmlドキュメントに内容を書き込む;</li>
<li>innerHTMLを使用してhtml要素に書き込む;</li>
<li>コンソールを使用log()ブラウザのコンソールに書き込む.</li>
</ul>
<p>**Windowsを使用します.alert(): **</p>
<pre><code><script>
window.alert(5 + 6);
操作HTML要素:
document.getElementById("demo").innerHTML = "段落已修改。";
コンソールに書き込み:
a = 5; b = 6; c = a + b; console.log(c);
3.JavaScript構文
プログラミング言語では、1つの字面量は3.14のような定数である.//1. (Number) , , . 3.14 1002 123e5 //2. : "walden" 'walden' //3. : [40, 100, 30, 2] //4. : {firstName:"wei", lastName:"walden", age:10} //5. function myFunction(a, b){ return a*b; } //6. javaScript `var` , `=` .
**変数は名前で、字面量は値です.**
その他のポイント:
JavaScriptは大文字と小文字に敏感です.
AVaScriptは余分なスペースを無視します.スクリプトにスペースを追加して、読みやすさを向上させることができます.次の2行のコードは同等です.var person="Hege"; var person = "Hege";
テキスト文字列では、反スラッシュを使用してコード行を改行できます.次の例が正しく表示されます.document.write(" \ !");
コメント:// . /* . */
JavaScriptデータ型:文字列(String)、数値(Number)、ブール(Boolean)、配列(Array)、オブジェクト(Object)、空(Null)、未定義(Undefined).//1. JavaScript // ( ) :true false。 var x=true; var y=false; //2. JavaScript var cars=new Array(); cars[0]="Saab"; cars[1]="Volvo"; cars[2]="BMW"; // (condensed array): var cars=new Array("Saab","Volvo","BMW"); // (literal array): var cars=["Saab","Volvo","BMW"]; // 3. JavaScript var person={firstname:"John", lastname:"Doe", id:5566}; : name=person.lastname; name=person["lastname"]; //4. Undefined Null Undefined 。 null 。 Null . //5. , "new" : var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object; //6. js : name = person.fullName(); // : methodName : function() { code lines } // : objectName.methodName()
4.JavaScript関数
パラメータなしの関数:function functionname() { }
パラメータ付き関数:function myFunction(var1,var2) { }
ローカルJavaScript変数:JavaScript関数の内部で宣言する変数は局所変数であるため、関数の内部でのみアクセスできる(この変数の役割ドメインは局所的である). のさらに異なる関数では、同じ名前の局所変数を使用することができる.この変数を宣言した関数だけが変数を識別できるからである. 関数の実行が完了する限り、ローカル変数は削除される. の関数パラメータは関数内部でのみ機能し、局所変数である.
グローバルjavaScript変数:関数外で宣言する変数はグローバル変数であり、Webページ上のすべてのスクリプトと関数がアクセスできる.
JavaScript変数の生存期間:JavaScript変数の宣言周期は、彼らが宣言する時間から始まる. ローカル変数は、関数の実行後に削除する. グローバル変数は、ページが閉じる後に削除される.
未宣言JavaScript変数に値を割り当てる:未宣言変数に値を割り当てると、その変数は自動的にグローバル変数として宣言される.次のようになります.function getName(){ name = "walden"; // name . }
**HTMLでは、グローバル変数はwindowオブジェクトです.すべてのデータとオブジェクトはwindowオブジェクトに属します.自分で定義したグローバル変数、または関数はwindowオブジェクトの変数または関数を上書きすることができる.ローカル変数、グローバル変数の和関数を上書きできます.**continue文はループでのみ使用できる. break文は、ループまたはswitchでのみ使用できる. ラベル参照により、breakは任意のJavaScriptコードブロックを飛び出すために使用することができる.
breakラベル参照:label: statements // break continue 。 break labelname; continue labelname;
5.JavaScript typeof,null,undefined
5.1 typdefオペレータ
typedefオペレータを用いる変数のデータ型を検出することができる.typeof "John" // string typeof 3.14 // number typeof false // boolean typeof [1,2,3,4] // object typeof {name:'John', age:34} // object, js , typedef [ ], object
5.2 Nullとundefined
jsではNull
は何もないことを示す.Nullがobjectであることをtypeofで検出し、undefined
は値変数が設定されていないことを示し、typedefがundefinedであるかを検出する.var person = null; // Value is null, but type is still an object var person = undefined; // undefined, type is undefined
6 . jsのデータ型JavaScript 5 : string number boolean object function 3 : Object Date Array 2 : null undefined
typedefオペレータはjs変数のデータ型を検出します.typeof "John" // string typeof 3.14 // number typeof NaN // number typeof false // boolean typeof [1,2,3,4] // object typeof {name:'John', age:34} // object typeof new Date() // object typeof function () {} // function typeof myCar // undefined (if myCar is not declared) typeof null // object // NaN number // (Array) object // (Date) object // null object // undefined
**constructorプロパティ:**constructorプロパティは、すべてのjs変数のコンストラクション関数を返します."John".constructor // String() { [native code] } (3.14).constructor // Number() { [native code] } false.constructor // Boolean() { [native code] } [1,2,3,4].constructor // Array() { [native code] } {name:'John', age:34}.constructor // Object() { [native code] } new Date().constructor // Date() { [native code] } function () {}.constructor // Function(){ [native code] }
constructorプロパティを使用して、オブジェクトが配列(文字列「Array」を含む)であるかどうかを確認します.function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
constructorプロパティを使用して、オブジェクトが日付(文字列「Date」を含む)であるかどうかを確認します.function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
JavaScriptタイプ変換:// 1. String(x) // x String(123) // 123 String(100 + 23) // //Number toString() 。 x.toString() (123).toString() (100 + 23).toString() // 2. String(false) // "false" String(true) // "true" // Boolean toString() 。 false.toString() // "false" true.toString() // "true" // 3. String(Date()) // Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) // Date toString() 。 Date().toString() // Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time) // 4. Number("3.14") // 3.14 Number(" ") // 0 Number("") // 0 Number("99 88") // NaN
JSコードをデバッグするには、ブラウザに付属のconsoleを使用することができます.log()メソッドデバッグのためにブレークポイントを設定もよい.
7.JS変数のアップグレード
jsでは、関数および変数の宣言が関数の最上位に昇格する.jsの変数は使用後に宣言することができる.次の2つのコードの効果は同じです.: x = 5; // x 5 elem = document.getElementById("demo"); // elem.innerHTML = x; // x var x; // x : var x; // x x = 5; // x 5 elem = document.getElementById("demo"); // elem.innerHTML = x; // x
JavaScriptの初期化は向上しません:
次の2つのコードの効果は異なります.1 var x = 5; // x var y = 7; // y elem = document.getElementById("demo"); // elem.innerHTML = x + " " + y; // x y 2 var x = 5; // x elem = document.getElementById("demo"); // elem.innerHTML = x + " " + y; // x y var y = 7; // y
JSON文字列はJavaScriptオブジェクトに変換されます.var text = '{ "employees" : [' + '{ "firstName":"John" , "lastName":"Doe" },' + '{ "firstName":"Anna" , "lastName":"Smith" },' + '{ "firstName":"Peter" , "lastName":"Jones" } ]}'; // , JavaScript JSON.parse() JavaScript : var obj = JSON.parse(text);
8.JavaScriptコード仕様変数名はアルパカ法で命名することを推奨する. 通常演算子(+-*/)の前後にスペースを追加します. は、エディタによってtab解析が異なるため、4つのスペースでコードをインデントすることを推奨する. 短いオブジェクトは1行、長いものは複数行、 と書くことができます.命名規則:変数と関数はアルパカ法、グローバル変数は大文字、定数は大文字である. HTMLを外部JSファイル typeにロードする は ではない.