こんな基本的なことはもう記録すべきではありませんが、過去を振り返って新しいことを学びましょう~データ型から始めましょう
JS の 6 つの主要なデータ型: 数値、文字列、オブジェクト、ブール型、ヌル、未定義
文字列: 一重引用符で囲むか、「文字列」のように二重引用符で囲みます
数値: 整数と浮動小数点数はすべて数値と呼ばれます~
ブール: true と false です
未定義: 未定義、つまり、変数を作成した後ですが、値は割り当てられていません~
null: したがって、Sijiu という名前です。null は何も意味せず、何も意味しません
オブジェクト: これを説明するのは難しいです。つまり、上記5種類以外の種類です
-----上は全て浮雲、下は神です----- -- -----------------------
データ型判定 typeof
typeof はほとんどのデータ型判定を解決できます。これは単項演算であり、 a 演算値の前に、戻り値はオペランドの型を表す文字列であるため、オペランドが String 型であるかどうかを判断するには、直接 if(typeof(your value) == "string"){}
以下は、さまざまなデータ型の戻り結果です:
var a="string"; console.log(a); //string var a=1; console.log(a); //number var a=false; console.log(a); //boolean var a; console.log(typeof a); //undfined var a = null; console.log(typeof a); //object var a = document; console.log(typeof a); //object var a = []; console.log(a); //object var a = function(){}; console.log(typeof a) //function 除了可以判断数据类型还可以判断function类型
最初の 4 つの型を除いて、null、オブジェクト、および配列はオブジェクト型を返すことは明らかです。
関数型の場合は、関数が返されます。 typeof(Date)、typeof(eval) などです。
それでは、これはもう 1 つの非常に一般的な問題につながりますが、その解決策は、データが配列型であるかどうかをどのように判断するかということになります。
------------------------------------------実はこれが私の目的なのです、え~---------------------------------------------- -
js 配列の型を判定するメソッドの一つ
instanceof
instanceは、その名の通り、instance、exampleなので、変数がオブジェクトのインスタンスかどうかを判定するためにinstanceofが使われます。算術式 --- typeof に最も似ています 実質的な違い
ainstanceof b?alert("true"):alert("false") // b の値は文字列ではなく、判断したいデータ型であることに注意してください、Array
など、例: Chestnut:
var a=[]; console.log(a instanceof Array) //返回true
メソッド 2 コンストラクター
は W3C 定義で定義されています。コンストラクター属性は、このオブジェクトを作成した配列関数への参照を返します
は、に対応するコンストラクター関数です返されたオブジェクト。定義は、instanceof と一致しませんが、効果は同じです
例: (instanceof Array) // は Array のインスタンスですか? true or false
(a.constructor == Array) // インスタンスに対応するコンストラクタは Array ですか? true か false
例:
function employee(name,job,born){ this.name=name; this.job=job; this.born=born; } var bill=new employee("Bill Gates","Engineer",1985); console.log(bill.constructor); //输出function employee(name, jobtitle, born){this.name = name; this.jobtitle = job; this.born = born;}
次に、さまざまな型を判断する方法は次のとおりです:
console.log([].constructor == Array); console.log({}.constructor == Object); console.log("string".constructor == String); console.log((123).constructor == Number); console.log(true.constructor == Boolean);
-----------------------------------------------------以下はそうではありませんオリジナル -- -----------------------------------
より厳密で普遍的な方法:
function isArray(object){ return object && typeof object==='object' && Array == object.constructor; }
! !注:
instanceof と construcor を使用する場合、判定される配列は現在のページで宣言する必要があります。例えば、ページ(親ページ)にはフレームがあり、そのフレーム内でページ(子ページ)が参照されます。このとき、子ページ内で配列が宣言され、親ページの変数に代入されます。 Array == object.constructor; は false を返します。
理由: 1. 配列は参照アドレスの転送のみです。
2. 各ページの Array ネイティブ オブジェクトによって参照されるアドレスは異なります。サブページで宣言された配列の対応するコンストラクターは、親ページが判断し、使用される Array になります。はサブページの配列と等しくないことを覚えておいてください。そうしないと、問題を追跡するのが難しくなります。
方法 3: 特性を判断する方法
function isArray(object){ return object && typeof object==='object' && typeof object.length==='number' && typeof object.splice==='function' && //判断length属性是否是可枚举的 对于数组 将得到false !(object.propertyIsEnumerable('length')); }。
はい、オブジェクトに属性を追加できるため、長さとスプライスは必ずしも配列である必要はありませんが、最も重要な判断要素である長さ属性を列挙することはできません。
var a = new Array("apple", "banana", "cactus"); document.write(a.propertyIsEnumerable(1));
方法 4 最も簡単な方法
function isArray(o) { return Object.prototype.toString.call(o) === ‘[object Array]‘; }JavaScript がデータ型と配列型を決定する方法に関するその他の記事については、PHP 中国語 Web サイトに注目してください。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

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リクエストがロールベースに付着することを保証します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
