-
JavaScriptの関数チェーンとは何ですか?
機能の連鎖 機能の連鎖 ドット表記を使用して関数を1行にグループ化することに他なりません。 。このタイプのチェーンは、コードを非常に簡潔にし、パフォーマンスも向上させます。ここでは、関数チェーンについて学習します。 通常のオブジェクトを使用します。 a)機能連鎖なし 次の例では、オブジェクトobjが作成され、そのオブジェクトにパブリックプロパティが作成されます。 「i」という名前は、キーワード「this」を使用して作成されます 最初に値0が割り当てられます。後でadd()、subtract()、print()と呼ばれるユーザー定義関数が同じオブジェクトobj内に作成されます。これで、オ
-
JavaScriptで指定された文字の後に文字列の一部を取得するにはどうすればよいですか?
文字列の一部を取得するには、 string.substring() メソッドはjavascriptで使用されます。このメソッドを使用すると、特定の文字の前後にある文字列の任意の部分を取得できます。 str.substring() このメソッドは、指定された開始インデックス(含む)から終了インデックス(除外)に文字列をスライスします。インデックスが1つだけ指定されている場合、メソッドはインデックスの先頭から文字列全体をスライスします。 構文-1 このコード行を使用すると、特定の文字の後に文字列の一部を取得できます。 string.substring(string.indexOf(cha
-
オブジェクトリテラルとコンストラクター関数を使用して作成されたオブジェクトの主な違いは何ですか?
オブジェクトリテラルを使用して作成されたオブジェクトは、シングルトンです。 、これは、オブジェクトに変更が加えられると、スクリプト全体のオブジェクトに影響を与えることを意味します。一方、オブジェクトがコンストラクター関数を使用して作成され、それに変更が加えられた場合、その変更はスクリプト全体でオブジェクトに影響を与えません。 それらについて個別に話し合いましょう。 1)オブジェクトリテラルを使用して作成されたオブジェクト これらはシングルトンなので 、オブジェクトへの変更はスクリプト全体で持続します。 1つのインスタンスでの変更は、オブジェクトのすべてのインスタンスに影響します。 次
-
JavaScriptのグローバル名前空間汚染とは何ですか?
グローバル名前空間汚染 グローバル名前空間を汚染すると、名前の衝突が発生します 。この名前の衝突 複数のjavascriptを使用している可能性のある大規模なプロジェクトでは非常に一般的です ライブラリ。 名前の衝突について詳しく説明しましょう です。 A1とA2という名前の2つのチームがプロジェクトに取り組んでいるシナリオを考えてみましょう。どちらもTeamA1.jsである独自のJavaScriptファイルを用意しました およびTeamA2.js 以下に示すように。 TeamA1.js TeamA1 はstudent関数を作成し、fnameとlname(firstname&la
-
JavaScriptのイベントバブリングとは何ですか?
イベントバブリング イベントバブリングプロセスは、イベントをトリガーした要素から始まり、階層内の含まれている要素までバブリングします。 デブリーフィング 次の例では、3つの要素 div があります 、スパン およびボタン 。 階層を維持するには、そのボタンが必要です。 スパン内にネストされる要素 要素、およびスパン div内にネストされる要素 エレメント。 すべての要素にクリックイベントを割り当てて、要素がクリックされたときにアラートボックスが開き、例に示すように、尊重されたメッセージが表示されるようにします。 プログラムを実行すると、以下の画像が画面に表示されます。 要素がクリ
-
JavaScriptで配列をディープフラット化する方法は?
配列のフラット化 配列をフラット化することは、提供された配列内に存在するネストされた配列のグループをマージすることに他なりません。 配列の平坦化は2つの方法で実行できます。 1)concat.apply() 次の例では、要素3,4、5、および6を含むネストされた配列がいくつかあります。 concat()を使用してそれらをフラット化した後 メソッドでは、出力を1,2,3,4,5,6,9として取得します。 例 <html> <body> <script> var arrays = [1,2,[3,4,[5,6]],9]; var merged
-
JavaScriptでのイベントキャプチャとは何ですか?
イベントキャプチャ イベントキャプチャ イベントは最上位の要素からターゲット要素まで開始されます。 イベントバブリングの反対です。 、ターゲット要素から最上位要素まで。 コードの詳細 次のコードでは、bodyセクションで3つのdiv要素が取得され、それらがネストされるようにスタイルが適用されています。 addEventListener を使用して、各divタグにイベントハンドラーを追加します ()。 ここでイベントが「クリック」であることを確認してください 「イベント。 addEventListener() メソッドは3つのパラメーターを受け入れます。 a)アクセスしようとし
-
英数字の値のみが許可されるように、JavaScriptで回文プログラムを作成しますか?
回文 回文とは、前方と後方を同じように読み取る単語、句、または数字です。たとえば、マラヤーラム語、マダム語、看護師が走るなど。 ここでは、英数字のみを許可する正規表現を使用する必要があります。 「\W」は、タスクを簡単にする組み込みの正規表現です。提供された文字列が回文であるかどうかを確認するために従うべきいくつかの手順があります。 従う手順 最初に、文字列のすべての文字を小文字に変更する必要があります。 後で、英数字以外の値をすべて削除する必要があります。このタスクは、「\ W」という名前の組み込み正規表現を使用して実行することも、独自の正規表現を作成することもできます。 英数字以外
-
JavaScriptで文にタイトルを付ける方法は?
JavaScriptの文のタイトルケース 文中のすべての単語の最初の要素を大文字に変換し、他の要素は小文字のままにします。提供された文字列(文)には、小文字と大文字の要素が多数含まれている場合があります。したがって、提供された文字列にタイトルケースを付けるためのアルゴリズムが必要です。 アルゴリズム 文中のすべての単語を個別に分割します。このタスクは、 string.split()を使用して実行できます。 メソッド。 string.toLowerCase()を使用して、すべての単語のすべての要素を小文字に変換します 方法。 forループを使用してすべての単語の最初の要素をループし、
-
JavaScriptで挿入ソートを実装する方法は?
挿入ソート 配列をソートするのは非常に単純な比較ソートです。 比較ソート 並べ替えようとしている現在の値を配列内の他の値と比較します。一度に1つのアイテムを処理し、必要な並べ替えられた配列を取得するために、各アイテムを正しい場所に繰り返し配置します。 実際、挿入 ソートは、ヒープソートなどの一部の高度なアルゴリズムほど効率的ではありません。 またはマージソート 。大規模なプログラムを扱う場合、これは最良のオプションではありません。 隠れた定数値が低いため 、挿入ソートは、小さな配列を処理する際に、ヒープやクイックソートなどの高度なアルゴリズムの一部よりも優れています。 。 挿入ソート 配
-
JavaScriptで大きな文字列をnサイズのチャンクに分割するにはどうすればよいですか?
大きな文字列をnサイズのサブ文字列に分割する方法は2つあります。 1)従来の方法 これは、forループ、concat、modulousなどの従来の方法のみが使用される純粋な論理方法です。この方法は、事前に決定された方法であるため、正規表現方法ほど高度ではありません。文字列を分割するチャンクの数は、コーディングを開始する前に事前に決定しておく必要があります。 次の例では、文字列「tutorixtutorixtutorix」がサブ文字列の3つのチャンクに分割されています。 例 <html> <body> <script> var v = [];
-
JavaScriptでオブジェクトの変更を防ぐ方法は?
ECMAScript 5では、オブジェクトの変更を防ぐためのいくつかのメソッドが導入されています。これらの予防策により、誤ってまたはその他の方法でオブジェクトの機能を変更することがなくなります。 予防方法には3つのレベルがあります 1)拡張を防ぐ このレベルでは、新しいプロパティやメソッドを追加することはできませんが、既存のプロパティやメソッドにアクセスすることはできます。ここでは、それぞれのオブジェクトを削除する機能があります。 Object.preventExtensions() このタスクを実行するために使用される方法です。これにより、新しいプロパティがオブジェクトに追加されるのを
-
JavaScriptの列挙不可能なプロパティとは何ですか?どのように作成できますか?
列挙できないプロパティ オブジェクトには、 Object.keys()を使用して特定のオブジェクトを反復処理したときに表示されないプロパティを含めることができます。 またはfor... in ループ。これらのタイプのプロパティは、列挙不可と呼ばれます。 プロパティ。 列挙できないプロパティの作成 列挙できないプロパティを作成するには、 Object.defineProperty()を使用する必要があります 方法。これは、列挙できないを作成するための特別な方法です。 オブジェクトのプロパティ。 次の例では、名前、年齢、国などの3つのプロパティが通常どおり作成され、「salary」という
-
2つのJavaScriptオブジェクトのプロパティを動的にマージする方法は?
javascriptオブジェクトのプロパティを動的にマージする方法は2つあります。彼らは 1)Object.assign() Object.assign() メソッドは、すべてのプロパティの値を1つ以上のソースオブジェクトからターゲットオブジェクトにコピーするために使用されます。 ターゲットオブジェクトを返します 。 例-1 <html> <body> <script> var target = { a: "ram", b: "rahim" }; var source = { c: "akb
-
タイマーやコールバックを忘れると、JavaScriptでメモリリークが発生する可能性がありますか?
忘れられたタイマー/コールバック javascriptには、setTimeout()とsetInterval()という2つのタイミングイベントがあります。前者は指定されたミリ秒数待機した後に関数を実行しますが、後者は定期的に関数を実行します(一定の時間間隔ごとに繰り返されます)。 オブジェクトがタイマーコールバックに関連付けられている場合、タイムアウトが発生するまでオブジェクトは解放されません。このシナリオでは、タイマーは自動的にリセットされ、ガベージコレクターによるメモリの削除を禁止することにより、タイムアウトが完了するまで永久に実行されます。これらのタイマーは、JavaScriptでの
-
JavaScriptでセットを説明しますか?
セット セットは、ES6によって提供される新しいオブジェクトタイプです。それは、ユニークな価値の集まりに他なりません。値は、文字列、整数などの単純なプリミティブ、またはオブジェクトリテラルや配列などの複雑なオブジェクトタイプのいずれかです。 構文 new Set([iterable]); パラメータ 反復可能 これは、要素が新しいセットに追加される反復可能なオブジェクトです。 iterableが提供されていないか、null値が渡された場合、新しいセットは空になります。 例 セットでは一意の値のみが許可されるため、セットに既存の要素の一部を追加した後のオブジェクトの長さは変更されません
-
JavaScriptでクイックソートを実装する方法は?
クイックソート クイックソートは、JavaScriptで最も重要なソート方法の1つです。配列からピボット値(ランダム値)を取得します。配列内の他のすべての要素は2つのカテゴリに分割されます。これらの要素は、ピボット値よりも小さく、ピボット値よりも大きい場合があります。 その後、各カテゴリ(ピボット未満およびピボットより大きい)は、ピボットが選択されるのと同じ手順に従い、各カテゴリはサブカテゴリ(ピボット未満およびピボットより大きい)に分割されます。 。 最終的に、サブカテゴリは、比較する要素がこれ以上ない場合に要素を含むか、要素を含まないように分割されます。残りの値は、以前のいくつかのポ
-
クロージャはどのようにしてメモリリークを引き起こし、それを防ぐ方法はありますか?
閉鎖 javascriptの強みの1つは、クロージャです。 Javascriptを使用すると、関数内の関数であるネストされた関数が親関数の変数にアクセスできます。内部関数によって外部関数の変数にアクセスするこのプロセスは、クロージャと呼ばれます。宣言された変数が内部のネストされた関数で自動的に使用可能になり、内部のネストされた関数で参照されていないにもかかわらずメモリ内に存在する場合、メモリリークが発生します。 次の例では、「childFunction」は「parentFunction」内で定義された内部関数であり、外部関数です。パラメータ「outerval」を使用して「parentFun
-
JavaScriptのMapとWeakMapの違いは何ですか?
MapとWeakMapの違い MapとWeakMapの機能メカニズムは同じですが、ほとんど違いはありません。 1)ウィークマップ マップに対して、キーとしてオブジェクトのみを受け入れます 、オブジェクトに加えて、文字列、数値などのプリミティブデータ型を受け入れます。 2) WeakMap キーのように機能しているオブジェクトへの参照がない場合、オブジェクトはガベージコレクションを回避しません。したがって、 WeakMapでキーを取得する方法はありません。 、一方、マップ キーを取得するためのMap.prototype.keys()などのメソッドがあります。 3) WeakMapにサイ
-
javascriptのmean.ioとmean.jsの違いは何ですか?
Mean.ioとMean.jsの違い MEANはスタックフレームワークです。 Mongodb、node.js、express.js、angular.jsと組み合わせると、完全なjavascriptWebアプリを作成するのに役立ちます。イスラエルのソフトウェア開発者であるAmosHavivは、 Mean.ioを最初に開始した人物です。 。 Mean.js Mean.ioからの単なるフォークです。 開発者がこれら2つのバリエーションを注意深く観察すると、 Mean.io Mean.jsとは異なる目的があります 。唯一の理由は、 Mean.ioである可能性があります Mean.js