JavaScript
JavaScript プロトタイプ、プロトタイプ チェーン? 特徴は何ですか?
eval は何をしますか?
その機(jī)能は、対応する文字列を JS コードに解析して実行することです。
eval は安全ではなく、非常にパフォーマンスを消費(fèi)するので使用しないでください (JS ステートメントに解析するために 2 回、1 回、そして1 回実行します)。
null と未定義の違いは何ですか?
一般的なイベント リスナー関數(shù)を作成します。
// イベント (イベント) ツール セット、ソース: 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;
高い同時(shí)実行性、チャット、リアルタイム メッセージ プッシュ
js の基本的なデータ型を紹介します。
數(shù)値,文字列,ブール値,オブジェクト,未定義
JavaScript はどのように継承を?qū)g裝しますか?
プロトタイプとコンストラクターを通じて
#["1", "2", "3"].map(parseInt) 答えは何でしょうか?
[1, NaN, NaN] parseInt には 2 つのパラメータ (val、radix) が必要ですが、map には 3 (要素、インデックス、配列) が渡されるためです。
オブジェクトの作成方法 (このオブジェクトのメモリ マップを描畫(huà)します)
function person(name, age) {
this.name = name;
this.age = age;
this.sing = function() {alert(this.name) }
}
This オブジェクトの理解について話しましょう。
これは js のキーワードです。関數(shù)がさまざまな狀況で使用されると、この値は変わります。
しかし、一般原則があります。それは、これは関數(shù)を呼び出すオブジェクトを參照するということです。
これは一般に、グローバル オブジェクト Global です。メソッド呼び出しとして、これはこのオブジェクトを參照します
イベントとは何ですか? IEとFirefoxのイベントメカニズムの違いは何ですか?泡立ちを止めるにはどうすればいいですか?
1. Web ページ上で実行する操作 (一部の操作は複數(shù)のイベントに対応します)。たとえば、ボタンをクリックするとイベントが生成されます。 JavaScript によって検出できる動(dòng)作です。
2. イベント処理メカニズム: IE はイベント バブリング、Firefox はイベント キャプチャー;
3. ev.stopPropagation();
クロージャ (クロージャ) とは何か、その理由は何ですか? 使用してください。 ?
say667() を?qū)g行すると、say667() クロージャの內(nèi)部変數(shù)は存在しますが、クロージャの內(nèi)部関數(shù)の內(nèi)部変數(shù)は存在しません。これにより、JavaScript のガベージ コレクション メカニズム GC がスペースを再利用できなくなります。 Say667() の內(nèi)部関數(shù)の実行は Say667() の変數(shù)に依存するため、say667(). リソースによって占有されます。これは、クロージャの役割を非常に簡(jiǎn)単に説明したものです。
functionsay667() {
//クロージャ內(nèi)で終了するローカル変數(shù)
var num = 666;
var SayAlert = function () {alert(num); }
num ;
returnsayAlert;
}
varsayAlert =say667();
sayAlert()//実行結(jié)果はポップするはずです667
"use strict"; とはどういう意味ですか? それを使用する利點(diǎn)と欠點(diǎn)は何ですか?
オブジェクトが特定のクラスに屬しているかどうかを判斷するにはどうすればよいですか?
インスタンスオブを使用します (改善予定)
if(a インスタンスオブ パーソン){
alert('yes');
}
new操作 シンボルは具體的に何をするのですか?
1. 空のオブジェクトを作成すると、this 変數(shù)はそのオブジェクトを參照し、関數(shù)のプロトタイプも継承します。
2. this が參照するオブジェクトにプロパティとメソッドが追加されます。
3. 新しく作成されたオブジェクトは this によって參照され、最後に暗黙的に this が返されます。
var obj = {};
obj.__proto__ = Base.prototype;
Base.call(obj);
JavaScript では、 a 関數(shù)を?qū)g行してオブジェクトを検索しても、プロトタイプは検索されませんが、この関數(shù)は何ですか?
hasOwnProperty
JSON について理解していますか?
JSON (JavaScript Object Notation) は軽量のデータ交換形式です。
これは JavaScript のサブセットに基づいています。データ形式はシンプルで読み書(shū)きが簡(jiǎn)単で、占有帯域幅もほとんどありません
{'age':'12', 'name':'back'}
どのような方法ですかjsの読み込みを遅らせるには?
defer と async、DOM の動(dòng)的作成 (最も一般的に使用される)、オンデマンドでの js の非同期読み込み
ajax とは何ですか?
同期と非同期の違いは何ですか? ?
クロスドメインの問(wèn)題を解決する方法?
jsonp、iframe、window.name、window.postMessage、サーバー上のプロキシ ページの設(shè)定
方法モジュール化するには?
プライベートメンバーを公開(kāi)せずに関數(shù)をすぐに実行します
var module1 = (function(){
var _count = 0;
var m1 = function(){
/ ...
};
var m2 = function(){
;
};
})();
とはAMD (モジュール/非同期定義) と CMD (共通モジュール定義) 仕様の違いは何ですか?
非同期読み込みの方法にはどのようなものがありますか?
(1) 遅延、IE のみサポート
# (2) 非同期: (3) スクリプトを作成、DOM に挿入、読み込み完了後にコールバック
document.write と innerHTML の違い
document.write はページ全體のみを再描畫(huà)できます
注 : js の関數(shù)は実際にはオブジェクトであり、関數(shù)名は Function オブジェクトへの參照です。 関數(shù) add(a,b)
{
アラート(a b);
}
関數(shù) sub(a,b)
{
アラート(a b); (a-b);
}
add.call(sub,3,1);
Jquery と jQuery UI の違いは何ですか?
*jQuery は、主にセレクター、プロパティ変更、イベント バインディングなどを提供する js ライブラリです。
ダイアログ ボックス、ドラッグ動(dòng)作、サイズ変更動(dòng)作など、一般的に使用されるいくつかのインターフェイス要素を提供します。
JQuery のソース コードを見(jiàn)たことがありますか?その実裝原理について簡(jiǎn)単に説明してもらえますか?
jquery で配列を json 文字列に変換し、再度変換するにはどうすればよいですか?
return JSON.stringify(array )
} $.fn.parseArray = function(array) { return JSON.parse(array)
}
次に呼び出します:
$( "").stringifyArray(array)
jQueryの最適化方法?
#クラスベースの選択性のパフォーマンスは、すべての DOM 要素を走査する必要があるため、ID セレクターと比較して非常に高価です。
##頻繁に操作するDOMはキャッシュしてから操作する必要があります。 Jqueryのチェーンコールを使用することをお?jiǎng)幛幛筏蓼埂?
例: var str=$("a").attr("href");
*for (var i = size; i
for (var i = size, length = arr.length; i
ガベージ コレクターはオブジェクトを定期的にスキャンし、各オブジェクトを參照する他のオブジェクトの數(shù)をカウントします。オブジェクトへの參照の數(shù)が 0 (他のオブジェクトがそのオブジェクトを參照していない) の場(chǎng)合、またはオブジェクトへの唯一の參照が循環(huán)的である場(chǎng)合、オブジェクトのメモリを再利用できます。
setTimeout の最初のパラメータで関數(shù)ではなく文字列を使用すると、メモリ リークが発生します。
クロージャ、コンソールログ、ループ (2 つのオブジェクトが相互に參照し、保持する場(chǎng)合、ループが生成されます)
歡迎選擇我的課程,讓我們一起見(jiàn)證您的進(jìn)步~~