この記事では、Web フロントエンドの面接で収集する価値のある厳選された質問をいくつかまとめています (回答付き)。一定の参考値があるので、困っている友達が参考になれば幸いです。
js 面接の質問
-
1.js データ型
- 基本データ型
数値、文字列、ブール値、Null、未定義、シンボル、bigInt - 参照データ型
オブジェクト、配列、日付、関数、RegExp
- 基本データ型
- #2. js の変数と関数の宣言の昇格
- #js 内の変数と関数の宣言は、
- # を実行するために最上位に昇格されます。 ## 関数のプロモーションは変数のプロモーションよりも上位です。
- 関数内で var を使用して同じ名前の外部変数が宣言されている場合、関数は上向き検索を実行しなくなります。
- 匿名関数はプロモートされません。
3. クロージャ -
クロージャは、他の関数の内部変数を読み取ることができる関数です
- 基本的に、クロージャ 内部で関数を返す関数です
- メリット
- 関数内で変数を読み込むことができます
- 変数を常にメモリ上に保持します
- オブジェクトのプライベート プロパティとプライベート メソッドをカプセル化できます
- より多くのメモリを消費し、不適切に使用するとメモリ オーバーフローが発生する可能性があります
4. == と === -
== の違いは、厳密ではない意味での平等です。
- 等しい値は等しいです。
- 等しい場合にのみ、値と参照アドレスは等しい
5.this - 等しい値は等しいです。
-
thisは常に関数の直接の呼び出し元を指します
- 新しいキーワードがある場合、これは new からのオブジェクトを指します
- イベントの場合、これはイベントをトリガーしたオブジェクトを指します
-
for in
- for
- forEach
- for-of
- ##7. Map と forEach の違い
- forEach メソッドは、トラバーサルとループという最も基本的なメソッドで、デフォルトで渡されるパラメータは 3 つあります。走査された配列
の内容、配列インデックス インデックス、および現在走査された配列 Array
- map メソッド。基本的な使用法は forEach と同じですが、新しい配列を返すため異なります。 callback
- は戻り値を持つ必要がありますが、そうでない場合は未定義を返します
- は戻り値を持つ必要がありますが、そうでない場合は未定義を返します
- 関数本体内の this オブジェクトは、それが使用されるオブジェクトではなく、定義されるオブジェクトです。 コンストラクターとして使用することはできません。つまり、新しいコマンドは使用できません。そうでない場合は、エラーがスローされます。
- 引数オブジェクトは使用できません。また、オブジェクトは関数本体に存在しません。これを使用したい場合は、代わりに Rest パラメーターを使用できます。
- yield コマンドは使用できないため、アロー関数をジェネレーター関数として使用できません
- 9. 同一オリジン ポリシー
- ##同じオリジンとは、同じドメイン名、プロトコル、およびポート番号を指します
- 10。クロスドメインの問題を解決する方法
- jsonp クロスドメインdocument.domain iframe クロスドメイン
- #nodejs ミドルウェア プロキシ クロスドメイン
- バックエンドはヘッダー情報に安全なドメイン名を設定します
- #11. 厳密モードの制限事項
- ##変数は使用前に宣言する必要があります
関数のパラメータに同じ属性を持たせることはできません。そうでない場合は、エラーが報告されます -
with ステートメントは使用できません
#これがグローバル オブジェクトを指すことを禁止します- 12、es6 の新規追加
- 新しいテンプレート文字列
- for-of (データの走査に使用) —配列内の値など。)ES6 は Promise オブジェクトを仕様に組み込み、ネイティブの Promise オブジェクトを提供します。
- 変数を宣言するための let および const コマンドを追加しました。 #モジュール module という概念の導入もあります
- 13. 属性とプロパティの違いは何ですか?
- Attribute は、dom 要素がドキュメント内の html タグとして持つプロパティ
- property が、dom 要素が js 内のオブジェクトとして持つプロパティです。
HTML の標準属性の場合、属性とプロパティは同期され、自動的に更新されます -
ただし、カスタム属性の場合は同期されません
- 14. let と const の違いは何ですか?
- let コマンドには変数プロモーションがありません。let より前に使用すると、エラーが報告されます
- ある場合let および const コマンドがブロック領域内にある場合、閉じたスコープが形成されます。
繰り返しの宣言は許可されません -
const は定数を定義し、変更できませんが、オブジェクトを定義する場合、オブジェクト内のデータは変更可能です
- 15. メモリ リーク
- 定義: プログラム内で動的に割り当てられたヒープ メモリが変更されていません。何らかの理由で割り当てられている、リリースできない、またはリリースできないことによって引き起こされるさまざまな問題。
- js でメモリ リークが発生する可能性: 結果: 速度低下、クラッシュ、大きな遅延など。
js でメモリ リークが発生する考えられる原因 -
グローバル変数
- dom がクリアされても参照が残っています
- タイマーはクリアされません
- サブ要素の存在によるメモリ リーク
-
- ##16. スクリプトの導入方法は?
html 静的 概要
js 動的挿入
- ##
: 非同期読み込み、要素の解析が完了した後に実行されます
ホットAIツール
Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ
AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。
Undress AI Tool
脱衣画像を無料で
Clothoff.io
AI衣類リムーバー
AI Hentai Generator
AIヘンタイを無料で生成します。
人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)2週間前By尊渡假赌尊渡假赌尊渡假赌レポ:チームメイトを復活させる方法1 か月前By尊渡假赌尊渡假赌尊渡假赌ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法4週間前By尊渡假赌尊渡假赌尊渡假赌スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?3週間前ByDDDホットツール
SublimeText3 中国語版
中国語版、とても使いやすい
MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
ホットトピック
Gmailメールのログイン入り口はどこですか?7345
15
Java チュートリアル1627
14
CakePHP チュートリアル1352
52
Laravel チュートリアル1265
25
PHP チュートリアル1214
29