JS プログラミングにおける参照型の概要

零下一度
リリース: 2017-07-17 16:18:07
オリジナル
1344 人が閲覧しました

参照型

JSの変数には、基本型の値と参照型の値という2つのデータ型の値があります。基本的な型は null、unknown、Boolean、string、number です。参照型の値はオブジェクトへの参照、つまりオブジェクトへのポインターです。

参照型はデータ構造(他の言語ではクラスと呼ばれます。jsにはクラスという概念がありませんでしたが、es6(構文糖)にはあります)であり、それを具象化するとオブジェクトになるので、オブジェクトは、参照型のインスタンスまたは値と呼ばれます。 (オブジェクトはキーと値のペアの組み合わせです。)

ディレクトリから、JavaScript の参照型は次のとおりであることがわかります: オブジェクト型、配列型、データ型、RegExp 型、関数型、基本組み込み型、シングル内蔵タイプ。ここでの知識ポイントを以下に整理してみます。

①参照型はデータと関数をまとめて構成するために使用されるデータ構造であり、クラスとも呼ばれますが、JavaScript はクラスとインターフェイスの基本構造をサポートしていないため、オブジェクト定義と呼ばれます。

②オブジェクトは最もよく使われるタイプです。オブジェクトを作成するには 2 つの方法があります。

最初のものは new 演算子を使用します:

1 var person = new Object();2 person.name = "xuchaoi";3 person.age = 24;
ログイン後にコピー

2 つ目はオブジェクト リテラル表記法を使用します:

1 var person = {2     name: "xuchaoi",3     age: "24"4 }  // 访问对象的值:person.name
ログイン後にコピー

③ 配列の作成はオブジェクトの作成と似ています。 new 演算子または配列リテラル表現を通じて作成できます

④ 配列は Array.isArray() メソッドを通じて検出できます。 typeof()は配列、オブジェクト、またはNull型を検出して「オブジェクト」を返すためです

⑤ 配列を文字列メソッドに分割します: join()

1 var name = ["小明", "小红", "小青"];2 consol.log(name.join("&"));  // 小明&小红&小青
ログイン後にコピー

⑥配列はデータ構造スタックをシミュレートします。 Push() は配列の末尾に値を追加し、pop() は配列の末尾から項目を削除します。これにより、後入れ先出しスタック構造

⑦の配列シミュレーションデータ構造ペアが実現されます。 Push() は配列の末尾に値を追加し、shift() は配列の最初の項目を削除します。したがって、先入れ先出しのペア構造を実現する

⑧unshift()は、配列の最初の項目に値を追加する

⑨配列の逆順メソッド: reverse()です。このメソッドは、配列項目の順序を逆にします。

⑩配列のソートメソッド:sort()。デフォルトでは、まず配列内の各項目に対して toString() 変換を実行し、次に配列項目を昇順に並べます

1 var values = [0, 1, 5, 10, 15];2 console.log(value.sort());    //0,1,10,15,5
ログイン後にコピー

この結果は明らかに私たちが望んでいる結果ではありません。ここでの sort() メソッドは、パラメータとして比較関数を使用すると、順序を制御できます。比較関数には、前の値と次の値の 2 つのパラメータがあります。最初の値が 2 番目の値の後に配置された場合は、どの順序で 0 が返されるかに関係なく、正の数値が返され、それ以外の場合は負の数値が返されます。

function compare(value, nextValue) {if(value < nextValue) {return -1;
    } else if(value > nextValue) {return 1;
    } else{return 0;
    }
}var values = [1, 0, 10, 5, 15];
console.log(values.sort(compare));    //0,1,5,10,15
ログイン後にコピー

⑪配列を連結する: concat()、パラメータを受け入れる: 文字列、配列

⑫配列をインターセプトする(元の配列を変更せずに新しい配列を生成する)メソッド:slice()。開始値、終了値の 2 つのパラメータを受け取ります (省略可能)。

1 var colors = ["红色", "黄色", "绿色", "蓝色"];2 var colors1 = colors.slice(1);    //截取从起始值到结束(数值都是从0计数)3 var colors2 = colors.slice(1,3)  //截取从起始值到结束值(不包括结束值)4 console.log(colors1);        //["黄色", "绿色", "蓝色"]  5 console.log(colors2);        //["黄色", "绿色"]
ログイン後にコピー

⑬配列を操作するメソッド:splice()。このメソッドは、配列内の項目を削除したり、配列に項目を挿入したり、配列内の項目を置き換えたりすることができます (つまり、配列の項目を削除し、対応する位置に項目を追加します)

⑭ 配列項目の位置メソッド:indexOf()。設定した値を配列の最初の項目から逆方向に検索し、見つかった場合は、配列内の値の位置インデックスが返されます。見つからない場合は、-1 が返されます。これは、配列の重複をチェックするために使用できます

1 //原理说明:利用indexOf只会返回数组中元素首次出现的位置与filter内函数index值的不等进行筛选2 var arry = [1,2,3,4,1,2,3];
3 var newArray = arry.filter(function(element,index,self) {4     return self.indexOf(element) === index;5 });    
//说明:filter()会遍历数组,过滤数组不符合要求的元素6 console.log(newArray);    //[1,2,3,4]
ログイン後にコピー

⑮配列トラバーサルマップ()。

1 var numbers = [1, 2, 3, 4, 5];
2 var numbers2 = numbers.map(function(item, index, array){3     
return item * 2;4 });
5 console.log(numbers2);    
 [2,4,6,8,10]
ログイン後にコピー

⑯配列トラバーサル forEach()

1 var numbers = [1, 2, 3, 4, 5];
2 numbers.forEach(function(item, index, array){3     
array[index] = item * 2;4 });5 console.log(numbers);    
// [2,4,6,8,10]
ログイン後にコピー

⑰配列の累積反復メソッドreduce()

1 var numbers = [1, 2, 3, 4, 5];
2 var sum = numbers.reduce(function(prev, cur, index, array) {3     
return prev + cur;4 });    
//reduce迭代函数接受4个参数:前一个值,当前值,项的索引,数组对象5 console.log(sum); 
15
ログイン後にコピー

まず配列について説明し、次のセクションでは引き続きリファレンスで注意すべき重要なポイントについて説明します。章を入力してください!

以上がJS プログラミングにおける参照型の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!