ホームページ > 記事 > ウェブフロントエンド > Ruffy JavaScript学習メモ_基礎知識
1. JavaScriptのプロトタイプモデル:プロトタイプ オブジェクト指向を実装する場合(クラス定義時など)、オブジェクトのメンバを定義するコンストラクタが必要となり、コンストラクタのプロトタイプにメソッドが付加されます。
2. JavaScript で継承を実装するには、サブクラスのコンストラクターのプロトタイプを親クラスのオブジェクト インスタンスに設定する必要があります。
3. CSS ブロックインブロック モデル:
最も外側のマージンは、要素が占めるスペースの端から隣接する要素までの距離を設定するために使用されます
ボーダー: ボーダーが使用されます要素の接続線
パディングは要素のコンテンツと要素の境界線
の間の距離を設定するために使用され、背景属性はコンテンツとパディング領域、つまりコンテンツとギャップ
です。 CSS の属性の幅と高さは、IE の場合、上記の境界ボックスを追加する必要があります。
4、System.Drawing.Imaging.BitmapData..ビットマップをメモリにロックします。
画像データをメモリにロックするには 2 つの関数があります
1 つは次のとおりです: Bitmap.LockBits( Rectangle Rect, ImageMode flags,PixelFormat format)
もう 1 つは Bitmap.LockBits(Rectangle Rect,ImageMode flags,PixelFormat format,BimapBitData bitmapData)
bitmapData には重要な属性 Scan0 があり、これは画像を指すポインターです。データが配置されているメモリ内の場所。メモリ トラッキングを使用し、アドレスに Scan0 の値を入力します。
System.Runtime.InteropServices.Marshal.WriteByte(IntPtr ptr,byte val) を使用できます。指定された位置のピクセル値を変更するための
IntPtr 型は「プラットフォーム固有の整数型」と呼ばれ、ウィンドウ ハンドルなどのネイティブ リソースに使用されます。
5、Reflection: Reflection は A です。実行時型検出のプロセス。リフレクションを通じて、特定のアセンブリに含まれるすべての型のリストを取得できます。このリストには、特定の型に定義されているメソッド、フィールド、プロパティ、およびイベントが含まれます。また、型のセットを動的に検出することもできます。特定のクラスによってサポートされるインターフェイス、メソッドのパラメーター、および基本クラス、名前空間、データ リストなどのその他の関連情報。 JavaScript の
for/in ステートメント:
for(variable in obj)
statement;
最も便利な機能の 1 つは、ネイティブ プロパティや継承されたプロパティを含む、オブジェクトの列挙可能なすべてのプロパティを列挙できることです。これにより、JavaScript に非常に強力なリフレクション メカニズムが提供されます。
例:
--for (var each in document.body)
-- document.write(each ":" document.body[each]
);
--//本体のすべての属性を列挙して出力します。
変数には任意の式を使用できます。
例:
--function key(obj){
- - var ret= new Array();
-- var i=0; for(ret[i ] in obj)
-- return
-- }
上記の関数は、オブジェクトのプロパティを配列として返します。
6,html-table コントロール cellpadding セルの内容とセルの間の距離
cellspacing 属性は、セル間の距離を表します
整列方法は次のとおりです: align は左右中央の水平方向の整列です (セル内の要素の水平方向の整列を指します)
vlign は上下中央の垂直方向の整列です
7、Base64 : 定義によるとRFC2045 では、Base64 は次のように定義されています。 Base64 コンテンツ転送エンコーディングは、8 ビット バイトのシーケンスを人間が直接認識するのが難しい形式で記述するように設計されています。 (Base64 Content-Transfer-Encoding は、人間が判読できる必要のない形式で任意のオクテットのシーケンスを表すように設計されています。)
8,margin:0px auto 上下のマージンは自動的に 0px に調整されます。
9. js における opener と self の違い: opener は
を参照します。現在のウィンドウがユーザーによって開かれた場合、opener の値は self 自己参照属性です。現在のウィンドウ オブジェクトへの参照。アプリケーションは window 属性と同義です。(self は独自のウィンドウを表し、opener はウィンドウ A がウィンドウ B を開くなど、それ自体を開くウィンドウを表します。) .open メソッド、ウィンドウ B の場合、self は B 自体を表し、opener はウィンドウ A を表します。)
10,wnd.location.search.slice(1); // の「?」の後の文字列を取得します。アドレスバー、wnd はウィンドウオブジェクトへの参照です。
11、式内の g の意味
g /global はグローバル検索を表します
i /ignore は case
gi の組み合わせを無視することを表します。上記の
12、順方向プレビューと逆方向プレビュー
(?=pattern) (?!pattern) は取得せず、後から出てくる文字列が期待する文字列であるかどうかを確認するためだけです
13、setcapture マウス キャプチャ: マウス キャプチャ (setCapture) この関数は、現在のドキュメントの指定されたオブジェクトへのマウス イベントをキャプチャすることです。このオブジェクトは、現在のアプリケーションまたはシステム全体のすべてのマウス イベントを受け取ります。 setCapture は、onmousedown、onmouseup、onmousemove、onclick、ondblclick、onmouseover、および onmouseout のマウス イベントをキャプチャします。
14. delete で使用し、JavaScript でオブジェクトをコレクションとして使用すると、コレクションを簡単に実装できます (delete 演算子は、指定されたオブジェクトの属性、配列要素、または変数を削除します。削除は正常に true を返します。同時に、オペランドが存在しない場合でも true)
例:
---var aSet= new Object();
---sSet["key"]=true; //新しい要素を挿入すでに存在するかどうかは関係ありません)
---if("key1" in aSet)
--- delete aSet["key1"] //key1 が存在する場合は削除します
---if( delete aSet[" key2"])
--- aSet["key2"]=true; // 元の要素を削除して key2 を更新します
15、-0、および |0 は js で使用できます。前者は文字を変更します。暗黙的に数値に変換します。これにより、ドット付き数値が四捨五入されます。
16,[]: オブジェクトおよび配列要素にアクセスするための二項演算子。
[] の 2 番目のオペランドがオブジェクトの場合、最初にその toString() メソッドを呼び出して変換します。変換が失敗した場合は、次に valueOf() メソッドを呼び出して変換します。
17、JavaScript 例外は常にコールスタックに沿って上向きに伝播し、イベントは同じ方向に伝播します。
18、JavaScript 配列の長さ属性は読み取りだけでなく書き込みも可能です。配列の長さを 0 に設定すると、配列内のすべての要素をクリアできます (配列の添字が整数ではない配列要素は除きます)。
19、null と unknown は異なりますが、演算子 "== " 等しい値として扱います (true を返す)
20, javascript ボックス化とボックス化解除: 基本データ型を対応する参照型に変換する操作はボックス化と呼ばれ、逆に参照型を対応する値に変換する操作はボックス化と呼ばれます。 , をアンボックス化といいます。
21, JSON: オブジェクト定数 & 配列定数
javascript オブジェクト表記法 javascript<オブジェクト表現方法>
JSON は JavaScript から開発された単純なメソッド データ交換プロトコル、そのデータ形式は正当な JavaScript オブジェクト定数
22 であり、絶対属性は left および top と組み合わされて、関連する「サスペンド レイヤー」効果を作成します。ただし、ウィンドウではなく特定のコンテナに対してフローティング効果が必要な場合があります。このとき、高さと幅の計算は面倒なだけでなく、完璧な結果を得るのはほぼ不可能です。上位レベルのスタイル属性の位置を相対に設定するだけです。たとえば、DOM 要素の移動に関しては、div を使用して ul と li
23 をネストします。最初の要素を最後に移動するには object.appendChild(object.firstChild) を使用しますが、テーブル要素に適用する場合は、
タグの外側に移動します (表示されません)。そのため、テーブル要素内の行を移動する場合は、MoveRow メソッドを使用する必要があります。