JavaScript は魔法の言語であり、その配列も同様にユニークです。余分なものを取り除き、本質を抽出し、一般的に使用されるベスト プラクティスをまとめます。間違いがあればご指摘ください。
JavaScript 配列は、オブジェクトの特性を持つ配列のようなオブジェクトです。プロパティ名が小さい連続した整数の場合は、配列を使用する必要があります。それ以外の場合は、オブジェクトを使用する必要があります。
配列ソース
すべての配列は Array から構築されます。コンストラクター プロパティをテストしてみましょう。
var arr = []; arr.constructor === Array; // true arr.constructor === Array.prototype.constructor; // true
配列の作成
//数组字面量方式 var arr1 = [1, 2, 3]; // [1,2,3] //构造函数方式 var arr2 = new Array(); // [] 空数组 var arr3 = new Array('9'); // ["9"] 一个字符串元素 var arr4 = new Array(9); // [] 数组长度length为9 var arr5 = new Array([9]); // [[9]] 相当于二维数组 var arr6 = new Array(1, 2, 3); // [1, 2, 3] var arr7 = new Array(1, function f(){}, {o : 6}, null,undefined,true); // 数组可以存储任意混合数据类型
arr4 の動作方法により、数値パラメーターが 1 つだけ Array コンストラクターに渡されると、コンストラクターは長さ属性が設定された空の配列を返します。したがって、短くて簡潔な配列リテラル方式を使用することをお勧めします。
オブジェクトが配列であるかどうかを検出します
var arr1 = [1, 2, 3]; typeof(arr1); // object
typeof が型を正しく検出しないことはよく知られています。
arr1 instanceof Array; //true
Web ページ内では、instanceof メソッドは問題ありませんが、他の Web ページをネストすると、グローバル スコープが 2 つになり、相互に呼び出す際の検出に問題が発生します。
Array.isArray(arr1); // true
Array.isArray() は ECMAScript5 の新しいメソッドであり、欠陥はありません。唯一の問題は、IE8 ブラウザーがこれをサポートしておらず、IE9 ブラウザーが厳密モードでサポートしていないことです。
Object.prototype.toString.apply(arr1).slice(8, -1); // Array
最後の方法は、タイプを検出する最良の方法です。
配列の長さ
配列の長さもその属性です。長さを増やしても範囲外エラーは発生しません。
長さの値は、配列の最大の整数の属性名に 1 を加えたものと等しくなります。
var arr1 = []; arr1[9] = 1; // 长度为10,只包含一个元素的数组
名前が長さ以上の属性を削除するには、小さな値を設定します。
長さの値が 0 に設定されている場合、それは配列をクリアすることと同じです。
var arr2 = [1, 2, 3, 4, 5]; arr2.length = 3; // [1, 2, 3] arr2.length = 0; // []
配列トラバーサル
配列を走査する場合、配列を走査するために for in ループを使用しないでください。for in はプロトタイプ チェーン上のすべてのプロパティを走査しますが、それほど多くのプロパティは必要ありません。 for ループを使用することをお勧めします。
var arr1 = [1, 2, 3]; arr1.test = 9; //for in 方式 for(var prop in arr1){ cosole.log(prop, arr1[prop]); } // 输出如下 // 0 1 // 1 2 // 2 3 // test 9 //for循环方式 for(var i = 0, len = arr1.length; i < len; i++){ console.log(arr1[i]); } //输出如下 // 1 // 2 // 3
for in メソッドには余分なテスト値があり、hasOwnProperty 関数を使用して削除できることがわかりますが、これは for ループ メソッドよりもはるかに遅くなります。
配列の長さのキャッシュは必要な手順であり、アクセスごとにパフォーマンスのオーバーヘッドが発生します (最新のブラウザーはこの側面を最適化しています)。
概要
配列の基本知識を簡単に紹介します。この時点で、配列をより包括的に理解できます。次の記事では Array メソッドを紹介します。
JavaScript は理解するのが容易ではない側面がたくさんありますが、長い期間の学習を通じて、私は徐々に Javascript に夢中になってきました (今は愛する女の子がいないため)。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

メモ帳++7.3.1
使いやすく無料のコードエディター
