【フロントエンド就活必読】フロントエンド開発面接一問一答_JavaScript
天蓬老师
天蓬老师 2017-11-13 13:04:27
0
0
1620

JavaScript

JavaScript プロトタイプ、プロトタイプ チェーン? 特徴は何ですか?

eval は何をしますか?

その機能は、対応する文字列を JS コードに解析して実行することです。
eval は安全ではなく、非常にパフォーマンスを消費するので使用しないでください (JS ステートメントに解析するために 2 回、1 回、そして1 回実行します)。

null と未定義の違いは何ですか?

一般的なイベント リスナー関数を作成します。

// イベント (イベント) ツール セット、ソース: github.com/markyun
markyun.Event = {
スルー アウト スルー アウト スルー アウト アウト アウト アウト アウト アウトout out of to s t- ' t- , (fn==null) {
fn=document; window.onload = fn, };
# // dom0||dom2||IE メソッドを使用して、能力に応じてイベントをバインドします
// パラメーター: 操作要素、イベント名、イベント ハンドラー
AddEvent: function(element, type, handler) {

's' s 'out' sを介して - 〜- - - - キャプチャされるなど。 ,
// 移除イベント
removeEvent : function(element, type, handler) {
if (element.removeEnentListener) {
element.removeEnentListener( type, handler, false);
} else if (element.datachEvent) element.detachEvent('on' type, handler);
} else {
要素. = null;
}
},
// イベントを防止します (IE はイベント キャプチャをサポートしていないため、主にイベント バブリングです)
stopPropagation: function(ev) {
if (ev.stopPropagation) {
ev.stopPropagation( ;
if (event.preventDefault) {
event.preventDefault(); //イベントターゲットの取得
getTarget : function(event) {

getEvent : function(e) {
var ev = e || window.event;
if (!ev) {
var c = this.getEvent.caller;
while (c) {
EV = C.ARGUMENTS [0] ;
If (EV && Event == EVSTRUCTOR) {
Break;
}
c = c.caller;
}

return ev;

高い同時実行性、チャット、リアルタイム メッセージ プッシュ


js の基本的なデータ型を紹介します。

数値,文字列,ブール値,オブジェクト,未定義


JavaScript はどのように継承を実装しますか?

プロトタイプとコンストラクターを通じて

#["1", "2", "3"].map(parseInt) 答えは何でしょうか?

[1, NaN, NaN] parseInt には 2 つのパラメータ (val、radix) が必要ですが、map には 3 (要素、インデックス、配列) が渡されるためです。

オブジェクトの作成方法 (このオブジェクトのメモリ マップを描画します)

function person(name, age) {
this.name = name;
this.age = age;
this.sing = function() {alert(this.name) }
}

This オブジェクトの理解について話しましょう。

これは js のキーワードです。関数がさまざまな状況で使用されると、この値は変わります。

しかし、一般原則があります。それは、これは関数を呼び出すオブジェクトを参照するということです。

これは一般に、グローバル オブジェクト Global です。メソッド呼び出しとして、これはこのオブジェクトを参照します

イベントとは何ですか? IEとFirefoxのイベントメカニズムの違いは何ですか?泡立ちを止めるにはどうすればいいですか?

1. Web ページ上で実行する操作 (一部の操作は複数のイベントに対応します)。たとえば、ボタンをクリックするとイベントが生成されます。 JavaScript によって検出できる動作です。
2. イベント処理メカニズム: IE はイベント バブリング、Firefox はイベント キャプチャー;
3. ev.stopPropagation();

クロージャ (クロージャ) とは何か、その理由は何ですか? 使用してください。 ?

say667() を実行すると、say667() クロージャの内部変数は存在しますが、クロージャの内部関数の内部変数は存在しません。これにより、JavaScript のガベージ コレクション メカニズム GC がスペースを再利用できなくなります。 Say667() の内部関数の実行は Say667() の変数に依存するため、say667(). リソースによって占有されます。これは、クロージャの役割を非常に簡単に説明したものです。

functionsay667() {
//クロージャ内で終了するローカル変数
var num = 666;
var SayAlert = function () {alert(num); }
num ;
returnsayAlert;
}

varsayAlert =say667();
sayAlert()//実行結果はポップするはずです667

"use strict"; とはどういう意味ですか? それを使用する利点と欠点は何ですか?

オブジェクトが特定のクラスに属しているかどうかを判断するにはどうすればよいですか?

インスタンスオブを使用します (改善予定)

if(a インスタンスオブ パーソン){
alert('yes');
}

new操作 シンボルは具体的に何をするのですか?

1. 空のオブジェクトを作成すると、this 変数はそのオブジェクトを参照し、関数のプロトタイプも継承します。
2. this が参照するオブジェクトにプロパティとメソッドが追加されます。
3. 新しく作成されたオブジェクトは this によって参照され、最後に暗黙的に this が返されます。

var obj = {};
obj.__proto__ = Base.prototype;
Base.call(obj);

JavaScript では、 a 関数を実行してオブジェクトを検索しても、プロトタイプは検索されませんが、この関数は何ですか?

hasOwnProperty

JSON について理解していますか?

JSON (JavaScript Object Notation) は軽量のデータ交換形式です。
これは JavaScript のサブセットに基づいています。データ形式はシンプルで読み書きが簡単で、占有帯域幅もほとんどありません
{'age':'12', 'name':'back'}

どのような方法ですかjsの読み込みを遅らせるには?

defer と async、DOM の動的作成 (最も一般的に使用される)、オンデマンドでの js の非同期読み込み

ajax とは何ですか?

同期と非同期の違いは何ですか? ?

クロスドメインの問題を解決する方法?

jsonp、iframe、window.name、window.postMessage、サーバー上のプロキシ ページの設定

方法モジュール化するには?

プライベートメンバーを公開せずに関数をすぐに実行します

var module1 = (function(){
var _count = 0;
var m1 = function(){
/ ...
};
var m2 = function(){
;
};
})();



とはAMD (モジュール/非同期定義) と CMD (共通モジュール定義) 仕様の違いは何ですか?

非同期読み込みの方法にはどのようなものがありますか?

(1) 遅延、IE のみサポート

# (2) 非同期:

(3) スクリプトを作成、DOM に挿入、読み込み完了後にコールバック



document.write と innerHTML の違い

document.write はページ全体のみを再描画できます

innerHTML はページの一部を再描画できます

.call( ) .apply() と .apply() の違いは何ですか?

この例では、add を使用して sub を置き換えるため、add.call(sub,3,1) == add(3,1) となるため、実行結果は次のようになります:alert(4);

注 : js の関数は実際にはオブジェクトであり、関数名は Function オブジェクトへの参照です。

関数 add(a,b)

{
アラート(a b);
}

関数 sub(a,b)
{
アラート(a b); (a-b);
}

add.call(sub,3,1);



Jquery と jQuery UI の違いは何ですか?

*jQuery は、主にセレクター、プロパティ変更、イベント バインディングなどを提供する js ライブラリです。

*jQuery UI は、jQuery をベースに設計され、jQuery の拡張性を活用して設計されたプラグインです。

ダイアログ ボックス、ドラッグ動作、サイズ変更動作など、一般的に使用されるいくつかのインターフェイス要素を提供します。


JQuery のソース コードを見たことがありますか?その実装原理について簡単に説明してもらえますか?

jquery で配列を json 文字列に変換し、再度変換するにはどうすればよいですか?

この関数は jQuery では提供されていないため、最初に 2 つの jQuery 拡張機能を作成する必要があります。

$.fn.stringifyArray = function(array) {

return JSON.stringify(array )

}

$.fn.parseArray = function(array) {

return JSON.parse(array)
}

次に呼び出します:
$( "").stringifyArray(array)


jQueryの最適化方法?

#クラスベースの選択性のパフォーマンスは、すべての DOM 要素を走査する必要があるため、ID セレクターと比較して非常に高価です。
##頻繁に操作するDOMはキャッシュしてから操作する必要があります。 Jqueryのチェーンコールを使用することをお勧めします。
例: var str=$("a").attr("href");

*for (var i = size; i for ループは、ループするたびに配列 (arr) の .length プロパティを検索します。ループの開始時にこの数値を格納する変数を設定すると、ループの実行が速くなります:
for (var i = size, length = arr.length; i

JavaScript でのスコープと変数宣言のプロモーション?

高パフォーマンスの Javascript を作成するにはどうすればよいですか?

どのような操作がメモリ リークを引き起こすのでしょうか?

メモリ リークとは、所有しなくなった、または必要がなくなった後も存続するオブジェクトを指します。

ガベージ コレクターはオブジェクトを定期的にスキャンし、各オブジェクトを参照する他のオブジェクトの数をカウントします。オブジェクトへの参照の数が 0 (他のオブジェクトがそのオブジェクトを参照していない) の場合、またはオブジェクトへの唯一の参照が循環的である場合、オブジェクトのメモリを再利用できます。

setTimeout の最初のパラメータで関数ではなく文字列を使用すると、メモリ リークが発生します。
クロージャ、コンソールログ、ループ (2 つのオブジェクトが相互に参照し、保持する場合、ループが生成されます)

JQuery は、複数のイベントを同時に 1 つのオブジェクトにバインドできます。これはどのように達成されるのでしょうか?


天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(0)
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート