ホームページ >ウェブフロントエンド >jsチュートリアル >javascript_javascript スキルにおけるデータセットの問題の概要
DataSet は ADO.NET の中心的な概念です。 DataSet は、データベースに依存しない独立したデータ コレクションであるインメモリ データベースと考えることができます。いわゆる独立性とは、データ リンクが切断されたり、データベースが閉じられたりした場合でも、DataSet は内部的に XML を使用してデータを記述できることを意味します。これは、XML がプラットフォームに依存せず、言語に依存しないデータ記述言語であるためです。 . であり、親子関係データなどの複雑な関係を持つデータを記述することができるため、DataSet は実際に複雑な関係を持つデータに対応でき、データベース リンクに依存しなくなります。
1. データセットについて
1.html5 カスタム属性と基本
HTML5 では、data- プレフィックスを使用して、データを保存するために必要なカスタム属性を設定できます。たとえば、テキスト ボタンに対応する ID を保存したいとします。
次に、データ属性を要素に適用する例を示します。
var expenseday=document.getElementById('day-meal-expense'); var typeOfDrink=expenseday.dataset.drink; console.log(typeOfDrink);//tea console.log(expenseday.dataset.food);//noodle console.log(expenseday.dataset.meal);//lunch
データ属性は基本的にすべてのブラウザでサポートされていますが、データセット オブジェクトは特別な方法でそれをサポートしています。現時点では、Opera 11.1 および Chrome 9 では、JavaScript を介してカスタマイズされたデータ属性にアクセスするためにのみデータセットを使用できます。他のブラウザと同様です。 , FireFox 6 (まだリリースされていません) と Safari 6 (まだリリースされていません) は、IE ブラウザに関しては、この傾向はまだ遠いようです。
境界文字を含む接続の名前は、使用するときにキャメルケースで記述する必要があることに注意してください。つまり、大文字と小文字の組み合わせで記述する必要があります。これは、application 要素のスタイル オブジェクトと似ています。たとえば、上記の例では、次のデータ属性があります。対応する値を取得したい場合は、expenseday.dataset.mealTime
を使用できます。 2. データセットを使用する理由従来の方法を使用して属性値を取得する場合、次のようになります:
var typeOfDrink=document.getElementById('1日の食事代').getAttribute('データドリンク');
ここで、複数のカスタム属性値を取得したい場合は、次の N 行のコードを使用してそれを実現する必要があります:
var attrs=expenseday.attributes, expense={},i,j; for (i=0,j=attrs.length;i<j;i++){ if(attrs[i].name.substring(0,5)=='data-'){ expense[attrs[i].name.substring(5)]=attrs[i].value; } }dataset 属性を使用すると、必要な値を取得するためにループはまったく必要なくなり、直接強制終了するだけです。
expense=document.getElementById('day-meal-expense').dataset;
Dataset は通常の JavaScript オブジェクトではありませんが、DOMStringMap オブジェクトは、複数の名前と値のペアを含む HTML5 の新しい対話型変数です。
名前と値のペアは次のように操作できます:
charInput=[]; for(var item in expenseday){ charInput.push(expenseday[item]); }上記の数千のコードの機能は、すべてのカスタム属性を配列に詰め込むことです。
データ属性を削除したい場合は、次のようにすることができます:
delete expenseday.dataset.meal; console.log(expenseday.dataset.meal)//undefined要素に属性を追加したい場合は、次のようにすることができます:
expenseday.dataset.dessert='icecream'; console.log(expenseday.dataset.dessert);//icecream
データセットを使用してデータを操作すると、getAttribute を使用するよりも若干遅くなります。
ただし、少量のデータのみを処理する場合、この速度の違いによる影響は基本的に存在しません。代わりに、データセットを使用してアダプティブ属性を操作する方が、getAttribute などの他の形式よりも高速であることがわかります。したがって、カスタム属性を操作する場合は、データセット操作が最適な選択です。
5. データセットを使用する場所カスタム データ属性を使用するときは常に、データセットを使用して名前と値のペアを取得するのが良い選択です。多くのブラウザが依然としてデータセットを未知の生物として扱うため、実際の使用では、次のことが必要です。次の使用法と同様に、特徴検出を実行してデータセットがサポートされているかどうかを確認します:
注意:如果你的应用程序会频繁更新data属性,建议使用JavaScript对象进行数据管理,而不是每次都经由data属性进行更新.
二.关于字面量赋值,数组赋值
var a=1,b=2; var c=[a,b]; console.log(c);//[1,2] var b=3; console.log(c);//[1,2] var c=[a,b]; console.log(c);//[1,3]
上面赋给a,b的值都是数字,c是由a和b组成的数组,由于a,b的值就是1和2,所以var c=[a,b]就等于var c=[1,2];之后a和b的值再怎么改变变与c=[1,2]无关了.
以上内容是关于javascript中dataset的问题小结,希望对大家学习有所帮助。