#JavaScript
プロトタイプチェイニングとは
オブジェクトは、メソッドを呼び出すと、それは最初に、メソッドがあるかどうかを確認するために、独自のプロトタイプを探し、自分自身からメソッドがあるかどうかを調べることはありません、メソッドがあるかどうかを確認するために、オブジェクトの親クラスbを探し続ける、bのプロトタイプが見つかりませんでしたので、レベルアップしてプロトタイプを探すためにレベル、チェーンと呼ばれる、任意のレベルは、直接呼び出しを見つけるために、上部を探さないように、最終的に見つからない場合は、エラーを報告します!
クロージャとは
クロージャとは、他の関数のスコープ内の変数にアクセスできる関数、関数の中にネストされた関数、外部関数の変数を使用する内部関数、外部関数をエクスポートする内部関数の変数で、他の関数がその変数を使用できるようにするものです。
クッキー、セッションストレージ、ローカルストレージの違いは何ですか?
すべてがデータを格納するために使用することができ、クッキーは、データサイズが4kbを超えることはできません、ほとんどは、有効期限を設定しない場合は、ブラウザが閉じられた後に消えて、20以上を格納することはできません、sessionStorageは、セッションストレージであり、サイズは5mを超えることはできません、ストレージの数に制限はありませんが、ページのデータが消えるオフにし、localStorageは、ローカルストレージであり、サイズは5mを超えることはできません、数に制限はありませんが、積極的に削除しない限り、データは消えません。sessionStorageは、セッションストレージであり、1つのサイズは5メートルを超えることはできません、アクティブな削除しない限り、ストレージの数に制限はありませんが、それ以外のデータが消えることはありません。
JSONPの役割とは?
役割:クロスドメインの問題を解決するために , 原則:スクリプトタグの動的な作成 , 同一オリジンポリシーなし , クロスドメインリクエストをサポート .
Callthis.$router.replace{path:'/' }, Apply, bind
1、thisポインティングを変更することができます 2、最初のパラメータが指すオブジェクトの後に呼び出すと、2番目のパラメータは、オブジェクトに渡される値です 3、最初のパラメータが指すオブジェクトの後に適用すると、2番目のパラメータは、配列であり、配列は、オブジェクトの値の内側に渡されます 4、呼び出しと適用を変更するにはコールとApplyの変更 thisを指すように自動的に呼び出され、手動で呼び出す必要がありますバインドされます。
泡立ちと穴掘りとは
サブタグがイベントをトリガーすると、そのイベントは1つ上の親タグから変更タグに渡されます。このプロセスを「穴を掘る」と呼び、サブタグが見つかると「ターゲット・フェーズ」と呼びます。
== ===
== つまり、'2' == 2 は有効、=== つまり、値を判断し、型も判断します。
JavaScriptの強制変換と暗黙変換
parseInt, parseFloat, number この3つは暗黙のうちに変換されます。
Typeofのインスタンスと何が違うのでしょうか?
Typeofはオブジェクトの型を決定します。
のインスタンスは、オブジェクトがインスタンス化されているかどうかを判断します。
JavaScriptは、どのタイプのリターンのTypeofで
文字列、ブール値、数値、undefind、関数、オブジェクト
JavaScriptの基本的なデータ型は何ですか?
基本型 undefind, Null, Boolean, String, Number, 複合型 Object
GetリクエストとPostリクエストの違いは何ですか?
getリクエストはパラメータのurlアドレスに置かれ、postリクエストはリクエストボディのパラメータに置かれます。理論的にはpostの方が安全で、urlサイズの長さが1kb以上にならないからです。
イベントデリゲートのJavaScriptは、どのように問題です。
イベント・バブリングの原理を利用して、あなたがトリガーしたイベントを、代わりに親要素が実行するようにします。
同期と非同期の違いは何ですか?
同期の考え方は、すべての操作を完了させてからユーザーに返すというものです。この方法では、ユーザーがオンラインで待つ時間が長すぎて、身動きが取れないような感覚を与えます。この場合、ユーザーはインターフェイスを閉じることができず、閉じると移行プロセスが中断されます。
非同期の考え方は、ユーザーリクエストをメッセージキューに入れ、システム移行プロセスが開始されたことをユーザーにフィードバックし、ブラウザを閉じることができるというものです。その後、プログラムはゆっくりと進み、データベースに書き込んで行きます。これは非同期です。しかし、ユーザーには行き詰まったという感覚はなく、システムがあなたのリクエストに応答したことを教えてくれます。これでインターフェイスを閉じることができます。
for inはキーの値をループしますが、for ofは値をループします。for inはオブジェクトを走査できますが、for ofはできませんが、どちらも配列を走査できます。
promise
プロミスの非同期処理には、pending、fulfilled、rejectedの3つの状態があり、これらは非同期処理の結果以外では変更できません。
仮想DOMとは
あなたがDOMを操作するネイティブjsまたはjqueryや他のライブラリを使用する場合、ブラウザは、DOMツリーを構築するので、DOMの頻繁な操作は、不要な計算が発生し、その結果、ページの遅延、ユーザーエクスペリエンスに影響を与える、および仮想DOMは、この問題に対する良い解決策になることができます一度実行するプロセス全体の話を開始します。これは、JavaScriptのオブジェクトを使用して、仮想ノードを表すために、VNodeによると、実際のDOMは、最小の変更を行う必要があります計算し、レンダリング効率を向上させるために、実際のDOMノードの操作インチ
ES6の新しい機能
変数宣言がvarからletとconstに変更されました。
アロー関数、拡張演算子、分解、テンプレート文字列
lesssassとの違い
Less: は動的スタイル言語です。 CSS には、変数、継承、算術演算、関数などの動的言語の特徴が与えられています。
** 動的なスタイル言語であり、Sassの構文は、機能の数よりもcssよりも、インデント構文に属し、継承、カラーハンドリング、関数など)、読みやすくなります。**
よく使われるコマンド修飾子
- once 一度だけ実行
- .preventはデフォルトイベントの発生を防ぎます
- .stop は親タグのイベント配信を停止します。
オブジェクト指向の3大特徴
カプセル化、継承、ポリモーフィズム
1。属性とメソッドを全体として一緒に入れて、オブジェクトのインスタンス化を通じて対処するために、2。内部実装の詳細を非表示にし、唯一のオブジェクトとその属性とメソッドと対話する必要がありますすることができます。
主な実施形態はコードの再利用を実現することで、同じコードを繰り返し書く必要はありません。サブクラスは親クラスの関数の中で書き換えることができ、クラスの機能を拡張することができます。
ポリモーフィズムとは、異なる型の変数に対する同じ操作のことで、オブジェクトの型によって動作が異なります。つまり、異なるクラスのオブジェクトが同じメソッドを呼び出しても、結果は異なります。
DOMBOMとの違い
BOMブラウザオブジェクトモデル
ブラウザオブジェクトモデルは、コンテンツとは独立してブラウザウィンドウと対話するオブジェクトを提供します。新しいウィンドウのポップアップ、ステータスバーのテキストの変更、クッキーのサポートなど、ブラウザへのアクセスやブラウザウィンドウの操作を可能にし、ブラウザと対話するためのメソッドとインターフェイスが記述されています。)
ブラウザのプロパティを取得または設定するために使用します。 例えば、alert(); は BOM に属するウィンドウをポップアップします。
DOM ドキュメントオブジェクトモデル
Document Object Model, DOMは、XMLのためのツリーベースのAPIです。Webページのコンテンツを処理するためのメソッドとインターフェースを記述し、HTMLとXMLのためのAPIです。DOMは、ページ全体をノードの階層からなるドキュメントとして計画します。バインディング
DOMとは、Document Object Modelの略で、文書のことです。入力フォームの値の取得や設定など、文書内のタグの属性の取得や設定に使用されます。 document.getElementById("").value; これは DOM に属します。
再帰と反復の違い
再帰:繰り返し関数自体を呼び出すと呼ばれるサイクルを達成するために、再帰は、実際には一定の深い呼び出し関数は、関数が層によって戻り値に返す必要があるまで、再帰は、スタック機構ではなく、より深い層を使用して達成されるスタックデータ領域の一部を取る必要がありますので、再帰は、実行時のスタックオーバーヘッドを含むので、スタックオーバーフローエラーにつながる可能性があります。しかし、再帰に具現化されたアイデアは、問題をコンピュータに任せ、単純化の追求だけでなく、小さな問題にそれを分解することによって、大きな問題を解決する動機です。
イテレーション:変数の元の値を使用して新しい値を導入することをイテレーションと呼びます。
関係:すべての反復は再帰に変換できますが、再帰は必ずしも反復に変換できません。
深いコピーと浅いコピー
#HTML+CSS
css3新しい属性
トランジショングラデーション、アニメーション、セレクタ、シャドウ、フレキシブルレイアウトフレックス、メディアクエリなどを追加しました!
html5
ヘッダーやフッターなどの新しいセマンティックタグ、新しいビデオとオーディオタグ、新しいドラッグ&ドロップAPI、新しいジオロケーション、新しいキャンバスとsvg描画。
W3C標準とは
基準は、構造、行動、ラベリングの3つのレベルに分けられます。
ブラウザの互換性
Google では、互換性のために属性の前に -webkit を付けるのが一般的です。
互換性のためFirefoxに-mozを追加
*
通常、どのように適応していますか?
通常の解決策は、メディアクエリを使ってremを適応させ、ラベルやテキストのサイズをpxではなくremに設定し、メディアクエリを使って画面サイズに応じてremのサイズを動的に調整することです。
パーセンテージ+メディアクエリの使用
アメニティ・フレックスボックス・ソリューション
一定の幅を固定し、スキーマを使用し、さらにいくつかのメディアクエリースキームを使用します。
remthis.$router.replace{path:'/' }とemの違いは?
emは親タグのフォントサイズに対して相対的に定義されます。
remはhtmlタグのフォントサイズに対して相対的に定義されます。
子セレクタ、子孫セレクタとは
> 例えば div>span は div のサブタグ span を取得します。
スペースは、 div span のように、div 内のすべてのスパンを取得する子孫セレクタを示します。
Canvassvgとの違い
どちらもグラフィックの描画に使用できますが、canvas は js をベースに描画し、sbg は xml をベースに描画します。
v-if this.$router.replace{path:'/' }とv-showの違いは?
v-値がtrueの場合は要素が追加され、falseの場合は要素が削除されます。
v-showの値がtrueの場合は要素が表示され、falseの場合は要素にdisplay:none属性を追加します。
なぜデータは関数でなければならないのですか?
データオブジェクトを共有するのではなく、各コンポーネントがデータオブジェクトを排他的に使用できるようにします。
templateタグの役割
要素を一緒にラップしても、それ自体がDOM構造に読み込まれるわけではありません。
{{}}と比べたVテキストの利点は何ですか?
インターネット速度が遅い場合、データの戻りが遅い場合、ページには{{}}が表示されません。
watchthis.$router.replace{path: '/' }とcomputedの違いは?
Watch はプロパティをリッスンし、値が変更されるとすぐにそのプロパティを呼び出します。
Computed は属性の計算を行い、属性の一部の内容が変更されると、即座に属性を再計算し、戻り値が必要になります。
MVVMとは
Mモデル 現在のページに表示されているデータのデータモデル データレイヤー
Vビュー ビューレイヤー
VM viewModel はデータ変換やユーザーとのインタラクションをリッスンします。基本的にはビューコントローラーであり、データレイヤーとビューレイヤーの橋渡しをします。
Vueのライフサイクルフック関数には、以下のものがあります。
- beforeCreate コンポーネントの作成
- Created コンポーネントが作成された後
- beforeMount コンポーネントのレンダリング
- Mounted コンポーネントがレンダリングされた後
- beforeUpdate コンポーネントの更新
- Updated コンポーネントが更新された後
- beforeDestroy コンポーネントの破壊
- Destroyed コンポーネントが破壊された後
- Activated コンポーネントの有効化
- Deactivated コンポーネントがアクティブでない
Vueはどのように双方向データバインディング、双方向データバインディングの原則は何ですか
vモデルによる双方向データバインディング
原理: データのハイジャックとパブリッシャーサブスクライバーパターンを組み合わせて、Object.defineProperty() を使用して、セッターのプロパティをハイジャックします。通常のJavaScriptオブジェクトがデータオプションとしてVueインスタンスに渡されると、Vueはそのプロパティを繰り返し処理し、Object.definePropertyを使用してそれらをゲッター/セッターに変更します。アクセスされたときに変更を通知します。
いくつかの方法の間のデータ転送の間のVueは、パスを遂行する方法
親から子へ:子コンポーネントは、プロップスによって以下を受け入れます。
子コンポーネントが$emitを発すると、親コンポーネントはそのイベントを受け取り、対応する関数を呼び出します。
親子でない場合:空のVueオブジェクトを使用して、最初のコンポーネントのクリックイベントでemitmountedemitメソッドを使用してイベントを発行し、2番目のコンポーネントのmounted関数内でonを使用してイベントを受け付けます。
Vue-Routerのフック関数には何があります。
グローバルガード
- beforeEach グローバルフロントエンドガード
- beforeResolve グローバル解決ガード
- afterEach グローバル後方ガード
専属ガードマン
- beforeEnter
インコンポーネントガード
- beforeRouteEnter
- beforeRouteUpdate
- beforeRouteLeave
Vueにおける状態管理の役割と属性の役割とは?
Vueの状態管理は、ページが必要とするデータの管理を一元化することであり、このデータを使用するためにプロジェクト全体のどこでも使用することができ、次の5つの属性があります。
- 状態:初期データの保存に使用
- 変異:状態値を変更する同期メソッド
- Actions非同期メソッド
- ゲッター: コンポーネントの computed プロパティに似ています。
- モジュール:他のVueオブジェクトを管理するために使用します。
ダイナミックコンポーネントとは何ですか?
is属性の値に基づいて、どのコンポーネントになるかを決定します。
非同期コンポーネントとは
ルートがロードされたときにすぐにロードされず、使用する必要があるときにロードされるコンポーネントを非同期コンポーネントと呼びます。
クロスドメイン問題を解決する方法のVueプロジェクト
build/index.jsでproxyTableプロパティを設定します。 scaffoldingのバージョンが3.0以上の場合は、新しいvue.config.jsファイルを作成して設定する必要があります。
データ属性,月,データOK
最後にもう一度見せたいエフェクト