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にロードする は ではない.