JavaScriptの基本的な知識-変数、データ型
JavaScriptとは何ですか?
JavaScriptは文字通りのスクリプト言語であり、動的に型付けされ、弱く型付けされた、プロトタイプベースの言語です。人気:JSはフロントエンドコード(動作レイヤー)の最も重要な部分です。これは通常、HTMLページの操作、ユーザー操作への応答、およびデータ送信の検証に使用されます。
変数を宣言する
変数を使用let
またはvar
宣言します。変数は、後で使用するためにさまざまなタイプのデータを格納するために使用できます。
可変命名規則
大文字と小文字は厳密に区別されます。
英数字_ $のみを含めることができ、数字で始めることはできません。
キーワード/予約語は使用できません。
必要な場合を除いて、既存のAPIを上書きしないでください。
名前が意味を知っているのを見てください。
varとletの違い:
** var:**ページが読み込まれるとき、2つのプロセスがあります:1。最初にステージを定義します
現在のスコープでvarによって定義された変数を検索します(変数を定義するだけで、事前に値を割り当てません)
2.実行段階
最初から始めて、コードを実行します
1)if、for、while···のスコープとは見なされません。これらで定義された変数はグローバル変数と等しく、function()関数のスコープとしてのみ見なされます。
console.log(a); //undefined
if(false){
var a = 10;
}
console.log(a); //undefined
a:是全局变量
2)同じ変数を定義する場合、後者は前者を上書きします。
** let:** 1)関数はスコープとして見なされるだけでなく、定義された変数がグローバル変数でない場合のスコープとしても見なされます。
2)未定義の変数は事前に使用できません
console.log(a);
let a = 10;
3)同じスコープで同じ変数を使用することはできません
let a = 1;
let a = 2;
データの種類
データ型は次のように分類されます。
基本的なデータ型:数値、文字列、ブール値、未定義、null
複雑なデータ型:参照データ型
基本データ型
番号タイプ
数値タイプには、整数、小数(浮動小数点数)が含まれます
スペシャル:NANは数値型です
let a = 10;
let b = 1.1;
文字列文字列型
文字列タイプは、一重引用符、二重引用符、およびテンプレート文字列角かっこで囲まれています。
角かっこは中国語、英語、数字、記号にすることができますが、文字列タイプを定義する一重引用符、二重引用符、およびテンプレート文字列はネストできません。追加する必要がある場合は、エスケープ記号を使用する必要があります。
let a = "中文";
let b = 'english';
let c = `111`;
let d = "中"国""; //这种写法错误
let f = "中\"国\""; //正确写法
ブール型ブール型
ブール型にはtrueとfalseのみがあります。trueとfalse。
let a = false;
let b = true;
未定義未定義タイプ
未定義の型は、未割り当ての宣言にすぎません。何も指さない
let a ;
let b = undefined;
ヌルポインタ
最初は変数の値が何であるかわかりませんが、変数がオブジェクトタイプとして格納されていることは確かです
let a = null;
参照データ型
オブジェクトタイプ
アレイ
配列はデータの一部であり、データのグループを格納するために使用されます
let a = [];//定义
let b = [100,"数组",1,true];
//取数据,数组里面的数都有一个下标,利用下标取数据,从0开始
console.log( b[2] ); //结果是1
console.log( b.length ); //取长度,为4
//给某一项重新赋值
a[0] = 20;
オブジェクトオブジェクトデータ
オブジェクト:物の説明
2つの属性名を同じにすることはできません。同じものが上書きされます。
オブジェクト内のデータには順序がありません。
let a = {
//(属性)键 : 值
name : "姓名",
age : 20,
height : "175cm",
};
//取值
console.log(a.name); //方法一
console.log(a["name"]); //方法二,[]里面表示一个数据,没有加“”号表示是一个变量
//修改某个属性
a.age = 22;
//删除某个属性
delete a.age;
//添加新属性
a.tel = "12345678901";
アレイと同じで異なる:
同じ:異なるデータを保存できます;複数のデータを保存できます
異なる:属性と呼ばれる各データの説明があります
ネストされた値
let a = {
//(属性)键 : 值
name : "姓名",
age : 20,
height : "175cm"
friend:{
name : "名字",
hobby : ["唱歌","画画","弹琴"]
}
};
//取数据
console.log( a.friend.hobby[2]); //弹琴
機能機能
一連のコードをカプセル化して、ブラウザーの実行直後に呼び出されないようにし、関数が呼び出されない限り実行されるようにします。
function a (){
//定义一个函数,a为函数名
}
//函数调用
a();
組み込みオブジェクトノードオブジェクト
事前にJavaScriptで定義されており、定義なしで取得できます。
例:ウィンドウ、ドキュメント
typeof演算子
基本データのタイプを検出するために使用され、戻り値は文字列です
console.log( typeof 10 ); //number
console.log( typeof "10" ); //string
console.log( typeof true ); //boolean
console.log( typeof undefined ); //undefined
console.log( typeof null ); //特殊:返回的是object
console.log( typeof [] ); // object
console.log( typeof {} ); //object
console.log( typeof function a(){} ); //返回function,但这个是函数,属于的是object类型
値型と参照データ型の違い
値型
値型とは、基本型とも呼ばれるプリミティブ型の値を指します。
データ型:数値、文字列、ブール値、null、未定義
スタックに格納され、固定メモリスペースを占有し、使用後に破棄されます
割り当て方法:1)値をコピーして、新しいオブジェクトを作成します
2)保存とコピーは価値そのものです
3)2つのデータはメモリ内で完全に独立しています
不変の値
スコープは関数のスコープ内にあり、関数が内部で変更されると有効になり、関数が破棄されると無効になります。
オブジェクトとオブジェクトの比較は次のとおりです。値の比較
タイプ検出:typeof演算子
参照型
基準値はガイドタイプの値です。
データ型:オブジェクト、関数、配列、データ、正規表現
ヒープに格納されているため、不安定なメモリスペースを占有し、使用後に破棄されない場合があります。オブジェクトに参照がない場合にのみ、システムのガベージコレクションメカニズムがオブジェクトをリサイクルして破棄します。
割り当て方法:1)参照のコピー、新しい参照の作成
2)保存とコピーはオブジェクトへのポインタです
3)new()メソッドを使用して構築されたオブジェクトは参照型です
可変値
スコープは、関数が変更されたときに変更されるランタイムデータ領域の値です。関数が破棄されても、変数の値は変更されます。
オブジェクトとオブジェクトの比較は次のとおりです。アドレスの比較
タイプ検出:instanceof演算子