-
JavaScriptのさまざまな種類のエラーは何ですか?
カスタムエラーの作成に使用できる一般的なErrorコンストラクターの他に、JavaScriptには7つのコアエラーコンストラクターがあります。これらは-です EvalError -グローバル関数eval()に関して発生するエラーを表すインスタンスを作成します。 InternalError -JavaScriptエンジンの内部エラーがスローされたときに発生するエラーを表すインスタンスを作成します。例:「再帰が多すぎる」 RangeError −数値変数またはパラメーターが有効範囲外の場合に発生するエラーを表すインスタンスを作成します。 ReferenceEr
-
JavaScriptの「厳密モード」の特徴は何ですか?
厳密モードは、ES5で導入された機能であり、プログラムまたは関数を「厳密」モードにすることができます。 この厳密なコンテキストにより、特定のアクションが実行されなくなり、より多くの例外がスローされます(通常、ユーザーにより多くの情報が提供されます)。ストリクトモードのいくつかの特定の機能- 宣言されていないが直接割り当てられている変数は失敗します。 foo=bar;を割り当てようとしました。 「foo」が定義されていない場合は失敗します。 厳密モードではevalを使用できません 関数内で引数配列を再割り当てすることはできません withステートメントの使用は許可されて
-
JavaScriptで厳密モードを有効にする方法は?
厳密モードは、ES5で導入された機能であり、プログラムまたは関数を「厳密」モードにすることができます。 この厳密なコンテキストにより、特定のアクションが実行されなくなり、より多くの例外がスローされます(通常、ユーザーにより多くの情報が提供されます)。ストリクトモードのいくつかの特定の機能- 宣言されていないが直接割り当てられている変数は失敗します。 foo=bar;を割り当てようとしました。 「foo」が定義されていない場合は失敗します。 厳密モードではevalを使用できません 関数内で引数配列を再割り当てすることはできません withステートメントの使用は許可されて
-
Window.onloadとjavascriptのonDocumentReady
どちらの関数も、ページがブラウザに読み込まれるときにタスクを実行するために使用されますが、実行方法と実行時期に微妙な違いがあります。 「window.onload」は、ブラウザがDOMツリーと、画像、オブジェクトなどの他のすべてのリソースをロードしたときにコードを実行します。 onDocumentReadyは、他のリソースがロードされるのを待たずに、DOMツリーが構築されたときに実行されます。これにより、onDocumentReadyを使用してDOMに対してコードをより高速に実行できます。 もう1つの違いは、jQueryのdocument.ready()のようなものを使用している間、wi
-
javascriptがRicherInterfaceと呼ばれるのはなぜですか?
JavaScriptを使用すると、Webアプリケーションに非常に高度な機能を追加できます。たとえば、 グラフィックの描画と操作 HTMLMediaElement、Web Audio API、WebRTCなどのオーディオおよびビデオAPIを使用すると、オーディオおよびビデオを再生するためのカスタムUIコントロールの作成、ビデオと一緒にキャプションやサブタイトルなどのテキストトラックの表示、ビデオの取得など、マルチメディアで非常に興味深いことを実行できます。 Webカメラをキャンバス(上記を参照)で操作したり、Web会議で他の人のコンピューターに表示したり、オーディオトラックにエフェク
-
JavaScriptとASPスクリプトのどちらが速いですか?
ASPスクリプトはサーバー側のスクリプト言語であり、サーバー上で実行されます。 一方、Javascriptは、クライアントブラウザで実行されるクライアント側のスクリプト言語です。 javascriptはクライアントで実行されるため、ネットワーク呼び出しを行う必要がなく、サーバーからの要求の送信と応答の受信にかかるラウンドトリップ時間を節約できます。したがって、JavaScriptの方が高速です。
-
値がJavascriptのNaNと等しいかどうかをどのようにテストしますか?
javascriptのグローバルNaNプロパティは、Not-A-Numberを表す値です。戻り値です 数学関数が失敗した場合(Math.sqrt(-500)) 数値を解析しようとしている関数が失敗した場合(parseFloat( test)) NaNは、(==、!=、===、および!==を介して)等しくないものを、別のNaN値を含む他の値と比較します。 値がNaNであるかどうかをテストするには、Number.isNaNメソッドを使用する必要があります。 例 let a = Math.sqrt(-500); console.log(Number.isNaN(a)) 出力 true 注
-
JavaScriptでなぜ厳密な使用を使用するのですか?
厳密モードは、ES5で導入された機能であり、プログラムまたは関数を「厳密」モードにすることができます。 この厳密なコンテキストにより、特定のアクションが実行されなくなり、より多くの例外がスローされます(通常、ユーザーにより多くの情報が提供されます)。ストリクトモードのいくつかの特定の機能- 宣言されていないが直接割り当てられている変数は失敗します。 foo=bar;を割り当てようとしました。 「foo」が定義されていない場合は失敗します。 厳密モードではevalを使用できません 関数内で引数配列を再割り当てすることはできません withステートメントの使用は許可されて
-
JavaScriptで真のプライベートメソッドを作成することの欠点は何ですか?
Javascriptで真にプライベートなメソッドを作成すると、各オブジェクトに関数の独自のコピーが作成されます。これらのコピーは、オブジェクト自体が破棄されるまでガベージコレクションされません。 例 var Student = function (name, marks) { this.name = name || ""; //Public attribute default value is null this.marks = marks || 300; //Public attribute default value
-
Javascriptで配列を空にする方法
JavaScriptで配列をクリア/空にする方法は複数あります。コンテキストに基づいてそれらを使用する必要があります。それぞれを見てみましょう。 -として定義された配列があると仮定します let arr = [1, 'test', {}, 123.43]; 新しい配列に置き換える- arr = []; これが最速の方法です。これにより、arrが新しい配列に設定されます。これは、他の場所から元のarrへの参照がない場合に最適です。そうした場合、それらの参照は更新されず、それらの場所は引き続き古い配列を使用します。 長さプロップを0に設定- arr.length = 0 これに
-
オブジェクトがJavascriptの配列であるかどうかを確認するにはどうすればよいですか?
オブジェクトがJavaScriptの配列であるかどうかを確認する方法は複数あります。これらのいくつかを見てみましょう- Array.isArray()の使用 最新のブラウザはすべてこの方法をサポートしています。 例 console.log(Array.isArray(undefined)) console.log(Array.isArray(null)) console.log(Array.isArray("")) console.log(Array.isArray({})) console.log(Array.isArray([])) console.log(Arra
-
JavaScriptの未定義x1とは何ですか?
これはJavaScriptの機能ではありませんが、初期化されていないインデックスを配列(および配列のようなオブジェクト)に表示するChromeの方法です。たとえば、console.logの場合、次の- 例 console.log(Array(100)) 出力 [undefined × 100] これは、[undefined、undefined、undefined、...]を印刷するよりも読みやすいので、優れています。
-
JavaScriptでの関数の巻き上げ
巻き上げは、コードの実行を開始する前に、変数と関数の宣言をスコープの最上位に移動するJavaScriptの手法です。スコープ内では、関数または変数が宣言されている場所に関係なく、それらはスコープの最上位に移動されます。 巻き上げると、割り当てが残っている間だけ宣言が移動することに注意してください。 例 console.log(functionBelow("Hello")); function functionBelow(greet) { return `${greet} world`; } console.log(functionBelow(&q
-
JavaScriptのInstanceof演算子
演算子のインスタンスは、コンストラクターのプロトタイププロパティがオブジェクトのプロトタイプチェーンのどこかに表示されるかどうかをテストします。より単純な言語では、変数が特定のタイプであるかどうかをテストします。ただし、いくつかの注意点があります。いくつかの例を見てみましょう。 プリミティブ 文字列と数値はプリミティブ値であり、オブジェクトではないため、[[Prototype]]がないため、通常のオブジェクトでラップした場合にのみ機能します。 例 console.log(1 instanceof Number) console.log(new Number(1) instanceof Num
-
JavaScriptのdeepCopyとshallowCopyの違い
浅いコピーと深いコピーは言語に依存しません。浅いコピーは可能な限り複製しません。コレクションの浅いコピーは、要素ではなく、コレクション構造のコピーです。浅いコピーで、2つのコレクションが個々の要素を共有するようになりました。 例 let innerObj = { a: 'b', c: 'd' } let obj = { x: "test", y: innerObj } // Create a shallow copy. let copyOb
-
JavascriptのSliceメソッドとSpliceメソッドの低レベルの違い
スライスとスプライスの基本的な違いは-です。 splice()は、呼び出された元の配列を変更し、配列内の削除されたアイテムを新しい配列オブジェクトとして返します。 lice()は元の配列を変更せず、スライスされた配列も返します。 例 // splice changes the array let arr = [1, 2, 3, 4, 5]; console.log(array.splice(2)); //slice doesn't change original one let arr2 = [1, 2, 3, 4, 5]; console.log(array2.sli
-
数値が精度を失うことなく到達できるJavaScriptの最大の整数値は何ですか?
簡単な答え:+/- 9007199254740991 ES6仕様によれば、大きさが2 ^ 53以下のすべての正および負の整数はNumberタイプで表現できます(実際、整数0には+0と-0の2つの表現があります)。 ES6では、これはNumber.MAX_SAFE_INTEGERとして定義されています。 ビット演算子とシフト演算子は32ビット整数で動作するため、この場合、安全な最大整数は2 ^ 31-1、つまり2147483647であることに注意してください。
-
Javascriptのshift()メソッドとpop()メソッドの違い
shiftメソッドは、ゼロ番目のインデックスの要素を削除し、連続するインデックスの値を下にシフトしてから、削除された値を返します。 lengthプロパティが0の場合、undefinedが返されます。 pop()メソッドは、配列から最後の要素を削除し、その要素を返します。このメソッドは、配列の長さを変更します。 例 let fruits = ['apple', 'mango', 'orange', 'kiwi']; let fruits2 = ['apple', 'mango', 'oran
-
javascriptのpush()メソッドとunshift()メソッドの違い
unshiftメソッドは、ゼロ番目のインデックスに要素を追加し、連続するインデックスの値を上にシフトしてから、配列の長さを返します。 push()メソッドは、最後に要素を配列に追加し、その要素を返します。このメソッドは、配列の長さを変更します。 例 let fruits = ['apple', 'mango', 'orange', 'kiwi']; let fruits2 = ['apple', 'mango', 'orange', 'kiwi']; console
-
不明な数の引数をJavascriptの関数に渡す
JavaScriptで関数を呼び出すときは、任意の数の引数を渡すことができます。関数パラメーターの制限はありません。これは、jsでは従来の方法で関数をオーバーロードできないことも意味します。 引数オブジェクトは、すべての非矢印関数内で使用可能なローカル変数です。そのargumentsオブジェクトを使用して、その関数内で関数の引数を参照できます。関数が呼び出された引数ごとにエントリがあり、最初のエントリのインデックスは0です。 たとえば、関数に3つの引数が渡された場合、次のようにそれらにアクセスできます- arguments[0] // first argument arguments[1]