javascriptの中でdatasetの問題についてまとめました.

3810 ワード

DataSetはADO.NETの中心概念である.DataSetをメモリ内のデータベースとして扱うことができます.DataSetはデータベースに依存しない独立したデータセットです.独立とは、データリンクを切断しても、またはデータベースを閉じても、DataSetは依然として利用可能であり、DataSetは内部でXMLでデータを記述しています.XMLはプラットフォームとは無関係で、言語とは無関係なデータ記述言語であり、親子関係のデータなど、複雑な関係を記述することができます.したがって、DataSetは、実際には複雑な関係を持つデータを格納することができ、データベースリンクに依存しない.
一.datasetについて
1.httml 5カスタム属性と基礎
httml 5では、data-プレフィクスを使って、私たちが必要とするカスタム属性を設定して、データの保存を行います.例えば、文字ボタンに該当するidを保存します.
 
  
テスト
ここでのdata-プレフィクスはdata属性と呼ばれ、スクリプトによって定義され、css属性セレクタを適用してスタイル設定ができます.数は制限されず、データを制御したりレンダリングしたりする際に非常に強力な制御を提供します.
以下は元素適用data属性の一例である.
 
  
$18.3

属性の値を取得するには、次のようにdatasetオブジェクトを使うことができます.

 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
ブラウザがdatasetをサポートしていると、注釈の内容が表示されます.ブラウザがdatasetをサポートしていないとエラーが発生し、属性drink/food/mealの値を取得できません.オブジェクトはnullまたは未定義(IE 9バージョンなど)です.
data属性は基本的にすべてのブラウザがサポートされていますが、datasetオブジェクトがサポートしているのは特殊です.現在はOpera 11.1+、Chrome 9+の下でjavascriptを通じて、datasetを使ってカスタマイズしたdata属性にアクセスできます.他のブラウザについては、FireFox 6+(未出)およびSafari 6+(未出)はdatasetオブジェクトをサポートします.
注意したいのは、エッジ付き文字接続の名称は、使用する際に、ダマ化という名前を付ける必要があります.すなわち、サイズ書き合わせということです.これはアプリケーション要素のstyleオブジェクトと似ています.dom.style.border Color.例えば、上記の例では、ダタ属性、data-meal-timeがあります.該当する値を取得して使用できます.
2.なぜdatasetを使うのですか?
従来の方法で属性値を取得すると、以下のようになるはずです.
var typeOfDrink=document.getElement ById('day-meal-expense').get Attribute('data-drink')現在、もし私達が複数のユーザー定義の属性値を得るためには、次のN行コードを使って実行します.

var attrs=expenseday.attributes, expense={},i,j;
for (i=0,j=attrs.length;i 
 
dataset属性を使って、私達は何の循環も必要としません.あなたが欲しい値を直接秒殺します.
expense=document.getElemenntById('day-meal-expense').dataset;datasetは典型的な意味でJavaScriptオブジェクトではなく、DOMStringMapオブジェクトであり、DOMStringMapはHTML 5の新しい複数の名前-値ペアを含むインタラクティブ変数である.
3.datasetの操作
以下のように名前と値のペアを操作できます.

charInput=[];
  for(var item in expenseday){
    charInput.push(expenseday[item]);
  }
上の数千コードの役割は、すべてのカスタム属性を1つの配列に詰め込むことです.
ダタ属性を削除したいなら、こうしてもいいです.

delete expenseday.dataset.meal;
  console.log(expenseday.dataset.meal)//undefined
要素に属性を追加したいなら、こうしてもいいです.

expenseday.dataset.dessert='icecream';
  console.log(expenseday.dataset.dessert);//icecream
4.getAttributeと比べた速度
datasetを使ってdataを操作するのはget Attributeを使うより少し遅いです.
しかし、データの量が少ないだけでは、このような速度の違いによる影響はほとんどない.むしろ、datasetを使った適応属性は他のget Attributeのような形よりも少なくて、読み取り可能性があります.したがって、カスタマイズ属性を操作して、dataset操作は上の選択です.
5.ダターセットはどこで使いますか?
あなたがカスタマイズしたdata属性を使うたびに、datasetを使って名前を付けます.値ペアはいい選択です.今まで多くのブラウザでは、datasetを知らない外星生物として扱っています.ですから、実際に使う時は、特徴検査を行います.datasetをサポートするかどうかを確認してください.以下のような使い方があります.

if(expenseday.dataset){
    expenseday.dataset.dessert='icecream';
  }else{
    expenseday.setAttribute('data-dessert','icecream');
  }
注意:もしあなたのアプリケーションが頻繁にdata属性を更新するなら、JavaScriptオブジェクトを使ってデータ管理を行うことを勧めます.
二.字面の量の賦課について、配列の割り当て

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の問題についてまとめたもので、皆さんの勉強に役に立ちたいです.