この記事を読むには、他の言語でのプログラミングエクスペリエンスが必要です。
勉強を始める前に
ほとんどのプログラミング言語には、良い部分と悪い部分があります。この記事では、JavaScriptの良い部分についてのみ説明しています。
1.最良の部分を学ぶだけで学習時間を短縮できます
2。記述されたコードはより堅牢です
3.書き込まれたコードは読みやすいです
4.記述されたコードのメンテナンスが簡単です
弱くて強いタイプ
一般的に言えば、バグを早期に修正すればするほど、支払う価格は少なくなります。強く入力された言語のコンパイラーは、コンパイル時に特定のエラーを確認できます。 JavaScriptは弱い型言語であり、その通訳者はタイプエラーをチェックできませんが、練習は次のとおりです。
1.強く入力されたエラーが回避できるエラーは、それらの重要なエラーではありません
2。弱いタイプは、強いタイプの負担を負わずに柔軟性をもたらすことができます
JavaScript関連標準
ECMA-262標準は、言語ECMAScriptを定義します。私たちがよく知っているJavaScriptとActionScriptはすべてECMAScriptに基づいています。現在、メインストリームはECMA-262バージョン5を使用しており、GoogleのV8エンジンはこれの実装です。
こんにちはJavaScript
JavaScriptは、通訳を解釈して実行する必要があるスクリプト言語です。ブラウザでJavaScriptを説明するか、GoogleのV8 JavaScriptエンジンを統合するnode.jsを直接使用できます。 node.jsは使用するのに非常に便利であるため、ここでnode.jsを使用してJavaScriptの実行を説明します。次に、最初のJavaScriptプログラムをご覧ください。
コードコピーは次のとおりです。
// test.js
console.log( "hello javascript");
このプログラムを実行します:
コードコピーは次のとおりです。
node test.js
文法
コメント
JavaScriptは、シングルライン注釈にはC ++と同じアノテーション方法を使用します。
数字タイプ
JavaScriptには、64ビットの浮動小数点数である数値タイプのタイプが1つしかありません。数字タイプには、NANとInfinityの2つの特別な値があります。 NANの意味は数字ではありません(数ではありません)。関数ISNANを使用して、それがNANであるかどうかを確認します。値の無限は無限を意味します。数学オブジェクトには、数値を操作するための一連の方法があります。たとえば、Math.floorメソッドは、丸めに使用されます。
弦
文字列リテラルは、単一または二重引用符で包むことができ、脱出された文字が使用されます(他の多くの言語と違いはありません)。 JavaScriptの各文字は2バイトで、Unicode文字セットを使用します。文字列には長さの属性があります。
コードコピーは次のとおりです。
「hello」.length //値は5です。「hello」.length()ではないことに注意してください
文字列は変更できません(LUAのように)。ここに記載されている長さの属性に加えて、次のようないくつかの方法があります。
コードコピーは次のとおりです。
'cat'.touppercase()===' cat '
声明
VARステートメントは、ローカル変数を宣言するために使用されます。そうしないと、変数はグローバル変数であり、未定化変数の値は未定義です。
コードコピーは次のとおりです。
関数f(){
var localvar = 123;
GlobalVar = 456;
var i; // Iの値は未定義です
};
f();
console.log(globalvar); // わかりました
console.log(localvar); //エラー、LocalVarは定義されていません
{}によってラップされた一連のステートメントは、ステートメントブロックと呼ばれます。他の言語とは異なり、JavaScriptの関数は新しいスコープを作成しません。
コードコピーは次のとおりです。
{
var v = 123;
}
console.log(v); // わかりました
IFステートメント
コードコピーは次のとおりです。
if(式)
声明
または
コードコピーは次のとおりです。
if(式)
ステートメント1
それ以外
ステートメント2
または
コードコピーは次のとおりです。
if(expression1)
ステートメント1
else if(expression2)
ステートメント2
else if(expression3)
ステートメント3
それ以外
ステートメント4
IFステートメントは、式の値が真または偽であると判断することにより、特定のステートメントを実行またはスキップすることを決定します。 JavaScriptでは、次の値が偽です(他の値は真):
1.False
2.ヌル
3.未定
4。空の文字列
5.0
6.ナン
IFのステートメントは、ステートメントまたはステートメントブロックになることができます。
スイッチステートメント
コードコピーは次のとおりです。
switch(n){
ケース1:// nが1に等しい場合
//コードブロックを実行します
壊す;
ケース2:// nが2に等しい場合
//コードブロックを実行します
壊す;
デフォルト:// nが1または2でない場合
//コードブロックを実行します
壊す;
}
ここでは、ループステートメントまたはスイッチステートメントを終了するためにBreakを使用します。 JavaScriptには、2つの値が等しいかどうかを比較する2つの演算子があります。
1。==(!= operatorに対応)、等しく、2つのオペランドタイプは異なります。このオペレーターは、比較する前にオペランドの種類を変換しようとします。たとえば
コードコピーは次のとおりです。
var x = 1;
x == 1; // 真実
x == "1"; // 真実
2。===(!==オペレーターに対応)、これは完全に等しく、2つのオペランドを比較し、オペランドタイプの変換を実行しません。たとえば
コードコピーは次のとおりです。
var x = 1;
x === 1; // 真実
x === "1"; // 間違い
NANおよび任意の値は等しくないことに注意する必要があります。 xがnanの場合、x!== x(nanのみを保持します)。このようなイスナン関数を実装できます。
コードコピーは次のとおりです。
関数isnan(n){
n!== nを返します。
}
上記のスイッチステートメントは、次のようにifステートメントに変換されます。
コードコピーは次のとおりです。
if(n === 1)
// ...
else if(n === 2)
// ...
それ以外
// ...
一方、そして声明
コードコピーは次のとおりです。
while(式)
声明
式が真である場合は、式が偽になるまでステートメントを繰り返します。
コードコピーは次のとおりです。
する
声明
while(式);
しばらくループと同様に、最初にステートメントを実行するだけで、条件付き式をチェックします。
声明のために
コードコピーは次のとおりです。
for(initialize; test; increment)
声明
最初に、初期化は1回実行され(通常はループ変数の初期化に使用されます)、次にテスト条件テスト(通常はループ変数をテストするために使用されます)、テスト条件が偽の場合、ループが停止し、それ以外の場合はステートメントが実行され、インクリメント(通常はループ変数の更新に使用されます)が実行され、テスト条件テストが実行されます。使用例:
コードコピーは次のとおりです。
for(var i = 0; i <5; ++ i){
console.log(i);
}
forの別の形式は、オブジェクトのすべての属性名を列挙するために使用されます。
コードコピーは次のとおりです。
for(オブジェクトの変数)
声明
例:
コードコピーは次のとおりです。
var obj = {
A:1、
B:2、
C:3
};
for(objのvar名)
console.log(name);
HasownPropertyメソッドを使用して、プロパティ名がオブジェクトのものであるか、プロトタイプチェーンで見つかっているかを確認することに注意する必要があります(プロトタイプチェーン、プロトタイプは次の記事で紹介されます):
コードコピーは次のとおりです。
for(bar in obj){
if(obj.hasownproperty(var)){
// ...
}
}
returnステートメント
returnステートメントは、関数を値に戻すために使用されます。関数が明示的に返品を使用しない場合、未定義に戻ります。
コードコピーは次のとおりです。
関数f(){}
var v = f(); // v ===未定義
?:条件付き演算子(JavaScriptの唯一の3成分演算子)
?:条件付き演算子は、多くのプログラミング言語に存在します。最初のオペランドが真である場合、オペレーターは2番目のオペランドの値を返します。そうしないと、3番目のオペランドの値が返されます。例:
コードコピーは次のとおりです。
function abs(){
x> 0を返しますか? x:-x;
}
Typeofオペレーター
TypeOF演算子は、変数のタイプを取得するために使用され、その返品値には以下が含まれます。
1.「number」
2.「ストリング」
3.「ブーリアン」
4. 'undefined'
5.「機能」
6.「オブジェクト」
特別なtypeof nullによって返される結果は「オブジェクト」です。 Typeofに関する例:
コードコピーは次のとおりです。
var a = typeof 'hello'; // a === '文字列'
var b = typeof null; // b === 'オブジェクト'
+オペレーター
+演算子は、追加操作または文字列連結のためにJavaScriptで使用できます。
コードコピーは次のとおりです。
var message = 'hello' + 'world'; //メッセージ=== 'Helloworld'
&& and ||オペレーター
&&オペレーターは、最初のオペランドが偽の場合に最初のオペランドの値を返します。そうしないと、2番目のオペランドの値を返します。
||オペレーターは、最初のオペランドが真の場合に最初のオペランドの値を返します。そうしないと、2番目のオペランドの値を返します。
コードコピーは次のとおりです。
var a = 1 && true; // a === true
var b = 1 ||間違い; // b === 1
||イディオム:
コードコピーは次のとおりです。
name = name || '未知'; //名前のデフォルト値「不明」を設定します