CDE ABCDEFG文字列内取ら1
str.substring(2,5)str.substr(2,3)str.slice(2,3)
2.クリアはいくつかの方法、自分の長所と短所に浮かびます
(1:両方:透明フロートをクリアするために空のタグ。
原理:空のdivを追加し、CSSは明確な使用を増加:両方の透明フロートを、親が自動的にdivの高さを得ることができるように
長所:、理解しやすく把握しやすいです
短所:分離の構造や性能に反し無意味な空のラベルの多くを、追加し、それが後のメンテナンスの悪夢になります
推奨:推奨されませんが、この方法は、主に、以前に使用されている明確なフロート法であります
(2:隠された:親のdivがオーバーフローを定義します
原則:オーバーフローを使用し、同時に高さを定義することはできない、1:あなたは幅やズームを定義する必要があります隠されたときに、ブラウザが自動的に浮動ゾーンの高さを確認します
長所:シンプル、より少ないコード、より良いブラウザのサポート
短所:過剰の大きさが非表示になりますので、それは、位置と組み合わせて使用することはできません
勧告:隠されたより深い理解の友達を使用しない:のみを使用して何の位置やオーバーフローが推奨しました
(3:親のdivクラス定義疑似:後とズーム(IE以外のブラウザ用)
原理:上記のIE8とIE以外のブラウザのみサポート:の後、やや同様の原理と方法、ズーム(IEターンの属性を持っているが)IE6、IE7フロート問題を解決します
長所:ブラウザのサポートが良いです(:大規模なサイトのような、使用している:テンセント、網易、シーナなど、現在は)問題を非難する傾向がありません。
短所:コードとより、主要なブラウザのサポートをするために組み合わせて使用する2つのコードに
推奨:推奨、我々は、CSSコードを削減するために、公共のクラスの定義をすることをお勧めします
3.どのようなクロージャは、どのような特性であります
なぜ農産物閉鎖:JavaScriptの言語そんなに特別なものである:内部機能のグローバル変数を直接読み取ることができますが、機能外の関数内のローカル変数を読み取ることができません。様々な理由から、私たちは時々 、関数内のローカル変数を取得する必要があります。しかし、すでにそれは通常の状況下では、それは不可能である、と述べました!それが唯一の代替方法によって達成することができます。それは関数内であり、そして、関数を定義します。
何クロージャです:クロージャの機能は、他の内部変数関数を読み取る能力です。で本質、クロージャは、内部および外部のブリッジ接続機能の関数です。
長所:偉大な使用2、1は関数内の変数を読み取ることができ、他方は、これらの変数の値がメモリに残っていると、自動的にF1の呼び出し後にクリアされていないようにすることです。
短所:
1)閉鎖に起因する、それ以外の場合はIEでのパフォーマンスの問題のWebページがメモリリークにつながる可能性が発生します、それは閉鎖を悪用されることができない、メモリの消費量が大きい場合には、変数の関数がメモリに格納されているようになります。ソリューションは、すべてのローカル変数が使用されていない削除する関数を終了する前に、あります。
2)クロージャは、親関数は、内部変数の値を変更し、親の外に機能します。あなたはその私有財産(非公開の値)のような内部変数として、そのパブリックメソッド(パブリック・メソッド)の閉鎖を使用するオブジェクト(オブジェクト)として親関数を取るのであれば、あなたはないように注意しなければなりませんちょうど内部変数の親関数の値を変更します。
4.IE一般的な互換性の問題
(1:異なるパッチ内のマージンとパディング外異なるブラウザのデフォルトのラベルのパッチ
発生確率:100%
解決方法:CSSワイルドカード*、0に設定されたパッチの内側と外側
(2:ブロックプロパティ]タブフロート、だけでなく、横方向のマージン値は、二国間IE6で提供距離(IE6のバグよりも大きく表示されます)
発生確率:90%
ソリューション:フロートラベルスタイルコントロールの表示追加:インライン;
(3:左端までの距離のスクロールバー(ロール高さ)の頂部までの距離
VAR scrollTopスプライト= document.documentElement.scrollTop || document.body.scrollTop;
VAR scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
(4:classNameのコレクションを取得します。
obj.getElementsByClassName(IEがサポートしていません)
(5:非互換性のインラインスタイルを取得します。
window.getComputedStyleが?getComputedStyle(OBJ、真)[ATTR]:obj.currentStyle [ATTR]。
(6:イベントオブジェクトが互換性の取得
EVT = EVT || window.event
(7:キーボードのキーコード値は、互換性のある取得
VARキー= evt.keyCode || evt.charCode || evt.which;
(8:互換性の互換性のあるハイパーリンクのデフォルトの動作をバブリングイベントを防ぎ、停止
?E.stopPropagation e.stopPropagation():e.cancelBubble =真;イベントバブリング
?Evt.preventDefault evt.preventDefault():evt.returnValue = falseは、組織のデフォルトの動作
(9:互換性のある互換性のあるイベントリスナーを追加および削除イベントリスナー
obj.addEventListener(イベント、FN、BOO);和obj.attachEvent(+イベント、FN 'に');
obj.removeEventListener(イベント、FN、BOO);和obj.detachEvent(+イベント、FN 'に');
(10:互換性のイベントソースを取得します
VARターゲット= event.target || event.srcElement;
5. div要素の可変幅と高さを中心にどのように
これは、参考のために、3つのメソッドを提供します
フレックスを使用して
唯一の親ボックスが用意されています表示:フレックス;-コンテンツ正当化:センター;-アイテム揃える:センター;
変換CSS3を使用してください
親ボックスの設定:位置:相対
DIV设置:変換:変換(-50%、 - 50%);位置:絶対;トップ:50%;左:50%。
ディスプレイを使用してください:テーブル・セル法
親ボックスを設定します。表示:テーブルのセル;テキスト整列:センター;垂直整列:ミドル。
DIV设置:表示:インラインブロック;垂直整列:中央;