基本概念
JavaScriptは解釈された言語であり、ブラウザは通訳として機能します。 JSを実行すると、最初に説明され、次に同じスコープ内で実行されます。解釈するとき、2つのキーワード関数とVARによって定義された変数がコンパイルされます。コンパイルが完了すると、変数が上から下に実行され、値が割り当てられます。
大文字と小文字を区別
ECMAScript(変数、機能名、演算子を含む)のすべては、ケースに敏感です。
1。変数
変数は最初に使用されるときにメモリに設定されるため、後でスクリプトで参照されます。変数を使用する前に宣言します。 VARキーワードを使用して、可変宣言を使用できます。
varカウント、量、レベル; //単一のVARキーワードで宣言された複数の宣言。
可変命名
変数名には、グローバル変数、ローカル変数、クラス変数、関数パラメーターなどが含まれます。これらはすべてこのカテゴリに分類されます。
可変命名は、タイプのプレフィックス +意味のある単語で構成されており、変数と関数の読みやすさはラクダの命名法によって増加します。例:susername、ncount。
プレフィックス仕様:
各ローカル変数には、次の型を分割できるタイプのプレフィックスが必要です。
S:文字列を表します。例:sname、shtml;
n:数字を表します。例:npage、ntotal;
B:ロジックを表します。例:Bchecked、Bhaslogin;
A:配列を表します。例:Alist、Agroup;
R:正規表現を表します。例:rdomain、Remail;
F:関数を表します。例:fgethtml、finit;
O:上記の他のオブジェクトを表します。
G:次のようなグローバル変数を表します。Gusername、Glogintime。
JScriptはケースに敏感な言語です。正当な変数名を作成するには、次のルールに従う必要があります。
最初のキャラクターは数字ではないことに注意してください。
その後、任意の文字または番号とアンダースコアが続くことができますが、スペース変数名であることはできません。予約された単語であってはなりません。
JavaScriptは弱く型付けの言語であり、JavaScriptは不要なスペースを無視します。スクリプトにスペースを追加して、読みやすさを向上させることができます。
VARはJavaScriptの予約済みの単語であり、次のことが変数の説明であり、変数名がユーザー定義の識別子であり、変数はコンマで分離されていることを示します。
変数が宣言されているが、値が割り当てられない場合、変数は存在し、その値はjscript値が未定義です。
ケースタイプ変換
JScriptでは、JScriptインタープリターからの例外を心配することなく、さまざまなタイプの値で操作を実行できます。代わりに、JScriptインタープリターは、データ型の1つを別のデータ型に自動的に変更(キャスト)し、操作を実行します。例えば:
計算結果
文字列に値を追加すると、値が文字列にキャストされます。
ブール値を文字列に追加すると、ブール値が文字列にキャストされます。
数値をブール値に追加すると、ブール値が数値になります。
文字列を整数に明示的に変換するには、parseintメソッドを使用します。文字列を数値に明示的に変換するには、parsefloatメソッドを使用します。
JavaScript変数の寿命:関数内で変数を宣言すると、その関数の変数のみにアクセスできます。関数を終了すると、この変数は取り消されます。この変数はローカル変数と呼ばれます。変数を宣言する関数のみが各変数を認識できるため、異なる関数で同じ名前のローカル変数を使用できます。
関数の外側の変数を宣言すると、ページ上のすべての関数が変数にアクセスできます。これらの変数の寿命は、宣言された後に始まり、ページが閉じたときに終了します。
JS変数マインドマップ
2.JSデータ型
JScriptには、3つのタイプ - >メインデータ型、2つの - >複合データ型と2つの - >特別なデータ型があります。
メイン(基本)データ型
弦
価値
ブール
複合(参照)データ型
物体
配列
特別なデータ型
ヌル
「未定」
文字列データ型:文字列データ型は、JScriptのテキストを表すために使用されます。 JSでは、二重引用符( "")と単一の引用( ")の両方が文字列を表すことができ、違いはほとんどありません。二重引用符(" ")を使用して文字列を表すのが最適です。
文字列値は、一緒に配置された一連のゼロまたはより多くのユニコード文字(文字、数字、句読点)です。
Unicodeとは何ですか?
Unicodeは、プラットフォーム、プログラム、または言語に関係なく、各文字に一意の値を提供します。 Unicodeは、世界に存在するすべての文字を処理するための統一エンコードを提供するために開発されています。
数値データ型
JScriptは内部的にすべての値を浮動小数点値として表すことを理解する必要があるため、JScriptの整数と浮動小数点値の間に違いはありません。
ブールデータ型
Boolean(論理)は、TrueまたはFalseの2つの値のみを持つことができます。
JSアレイとオブジェクト
詳細については、私の記事 - > javaScript学習概要 - 配列とオブジェクトパーツを参照してください
ヌルデータ型:変数にnull値を割り当てることにより、変数のコンテンツをクリアできます。
JScriptのTypeof演算子は、null値が型nullではなくオブジェクトタイプであることを報告します。
<html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en"> <head> <head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <pittation> <pitter> </<cript> <> <> <> <titl> null); </script> </head> <body> </body> </html>
nullは、まだ存在していないオブジェクトを表すために使用され、存在しないオブジェクトを返しようとする関数を表すためによく使用されます。
未定義のデータ型:
未定義の値は、次の状況で返されます。
オブジェクト属性は存在しません。
変数は宣言されましたが、値は決して割り当てられませんでした。
nullと未定義の違い
アラート(未定義のタイプ); //出力「未定義」アラート(typeof null); //出力「オブジェクト」アラート(null == undefined); //出力「true」
ECMAScriptは、未定義はnullから派生していると考えているため、それらは等しいと定義されています。
アラート(null === undefined); //出力「false」アラート(typeof null == ofof undefined); //出力「false」
NULLと未定義のタイプは異なるため、出力は「false」です。 and ===は絶対的な平等を意味します。
さらに、ここに比較的重要なデータ型があります - 参照データ型
参照データ型
JavaScript参照データ型は、ヒープメモリに格納されているオブジェクトです。 JavaScriptでは、ヒープメモリスペースの場所と操作への直接アクセスを許可しません。スタックメモリ内のオブジェクトの参照アドレスのみを操作できます。したがって、参照型データは、実際には、ヒープメモリ内のオブジェクトの参照アドレスとしてスタックメモリに保存されます。この参照アドレスを使用すると、ヒープメモリに保存されているオブジェクトをすばやく見つけることができます。
データ型の割り当てを引用するプロセスを示しましょう
もちろん、OBJ2に名前属性を追加することは、実際にはヒープメモリ内のオブジェクトに名前属性を追加することです。 OBJ2とOBJ1は、スタックメモリ内のヒープメモリオブジェクトの参照アドレスのみを保存します。それらもコピーされていますが、指摘されたオブジェクトは同じです。したがって、OBJ2を変更すると、OBJ1が変化します。
基本的なタイプの値は、スタックメモリに保存されている単純なデータセグメント、つまり、そのような値がメモリに完全に保存される場所を指します。
参照型値は、ヒープメモリに保存されているオブジェクトを指します。つまり、変数は実際には単なるポインターであり、オブジェクトが保存されているメモリ内の別の場所を指します。
要するに、ヒープメモリは参照値を保存し、スタックメモリは固定型値を保存します。
ECMAScriptでは、変数には2種類の値、つまり元の値と参照値があります。
元の値はスタックに保存されます。つまり、その値は、変数にアクセスされる場所に直接保存されます。ヒープに保存されている参照オブジェクト、つまり変数に保存されている値は、オブジェクトが保存されているメモリを指すポインターです。
<script type = "text/javascript"> var box = new object(); //参照タイプの作成var box = "lee"; //基本型値は文字列box.age = 23です。 //属性のみが属性を追加できるため、基本型値に属性を追加するのは奇妙です。アラート(box.age); //それは参照タイプではなく、出力することはできません; </script>
3.JScriptオペレーター
優先度:オペレーターの運用順序を指します。素人の用語では、最初に操作のどの部分を計算することです。
組み合わせ:レイマンの用語での同じ優先オペレーターの計算順序は、それが計算する方向から、それが左から右に右に残っているかどうかです。
データ型変換と基本的なラッピングタイプ
string()to string type
数値()までのタイプ
boolean()からブールタイプへ
parseint:文字列を整数に変換します。文字列の先頭から解析を開始し、最初の非整数位置での解析を停止し、以前に読んだすべての整数を返します。文字列が整数から始まっていない場合、NANは返されます。たとえば、Parseint( "150 Hi")によって返される値は150で、Parseint( "Hi")によって返される値は:nanです。
Parsefloat:文字列をフローティングポイント番号に変換します。文字列の先頭から解析を開始し、最初の非整数位置での解析を停止し、以前に読んだすべての整数を返します。文字列が整数から始まっていない場合、NANは返されます。例:parsefloat( "15.5 hi")値を返します:15.5、およびparsefloat( "hi 15.5")は値:nanを返します。
評価:文字列をJavaScript式として計算し、実行結果を返し、結果がない場合は未定義に戻ります。
基本的なパッケージングタイプ
基本型の値が読み取られると、背景は対応する基本ラッパータイプのオブジェクトを作成するため、このデータを操作するためにいくつかの方法を呼び出すことができます。基本的なパッケージタイプには、ブール、数字、文字列が含まれます
var box = 'trigkit4'; // leteral box.name = 'mike'; //無効な属性box.age = function(){//無効なメソッドreturn 22;}; //新しいオペレーターの書き込みvar box = new string( 'trigkit4'); // new operator box.name = 'mike'; //有効な属性box.age = function(){//有効なメソッドreturn 22;};文字列タイプには3つのプロパティと、利用可能な多数の内蔵メソッドが含まれています
属性の説明
長さ:文字列の文字長を返します
コンストラクター:文字列オブジェクトを作成する関数を返します
プロトタイプ:プロパティとメソッドを追加して、文字列定義を拡張します
4.JSプロセス制御
JSプロセス制御ステートメントの場合、理解するのが難しいほんの一部です。私は他の人について詳しく説明しません。マインドマップを以下に添付しています。
1。
for([オブジェクト|配列]の変数)
ステートメント
パラメーター:
変数:必要なオプション。オブジェクトの属性または配列の要素のいずれかであることができる変数。
オブジェクト、配列:オプション。その上にトラバースするオブジェクトまたは配列。
ステートメント:オプション。オブジェクトの各プロパティまたは配列の各要素に対して実行される1つ以上のステートメント。複合声明になる可能性があります。
条件付き制御ステートメント(ステートメントなど)は、複数のステートメントが実行された場合にのみコードブロックの使用を必要としますが(左の巻き毛装具{"Start、右カーリーブレース"} ")、ベストプラクティスは常にコードブロックを使用することです。
if(args)alert(args); //エラーが簡単なif(args){alert(args); //使用することをお勧めします}5.JS関数
関数は、イベントによって駆動されるか、呼び出されたときに実行されるコードの再利用可能なブロックです。
JScriptは2つの関数をサポートしています。1つは言語内の関数であり、もう1つはそれ自体で作成されます。
JavaScript関数はパラメーターを許可しません(ただし、パラメーターを含むブラケットは省略できません)。パラメーターは、関数で使用するための関数に渡すことができます。
関数の詳細については、私の記事の別の記事をご覧ください:JavaScript Learning(IV)関数パーツの概要
オブジェクトの構成
方法 - 関数:手続き、動的
属性 - 変数:状態、静的
最後に、高齢者によって要約されたマインドマップ:
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。