透過HTML中的 web storage 物件, 可以將網頁中的資料儲存在使用者的瀏覽器當中
window.sessionStorage
:放在sessionStorage的資料會在頁面(頁籤)關閉時清空,只要該頁面頁面(頁籤)沒被關閉或者有還原(restore)該頁面,資料就會保存。window.localStorage
: 放在localStorage的資料會永久保存,直到被使用者清除。
web storage method
Storage.setItem('key', 'value')
:
透過在setItem()
方法中指定物件屬性的key
以及value
,
我們可以在storage
物件中加入屬性或修改原本的屬性內容。Storage.getItem('key')
:
透過在getItem()
方法中輸入屬性的key
,我們可以得到storage
物件對應的屬性value
。Storage.key()
:
透過在key()
方法中輸入屬性的順序位置,我們可以取得storage
物件中該位置的屬性key
,此順序位置如陣列一樣,由0開始。Storage.removeItem()
:
透過在removeItem()
方法,我們可以把指定的屬性從storage
物件中移除。Storage.clear()
:
透過clear()
方法,我們可以直接把storage
中的所有屬性移除
setItem/getItem應用
var country = [
{farmer:'卡斯伯'}
];
var countryString= JSON.stringify(country);
localStorage.setItem('countryItem',countryString);
var getData = localStorage.getItem('countryItem');
var getDataAry = JSON.parse(getData);
console.log(getDataAry[0].farmer);
dataset讀取自訂資料
list.addEventListener('click',checkList,false);
// //確認點擊的農夫是誰
function checkList(e){
var num=e.target.dataset.num;
var dog=e.target.dataset.dog;
console.log('農場主人'+num);
console.log('農場的狗'+dog);
}
html
<ul class="list">
<li data-num="0" data-dog="3">卡斯伯</li>
</ul>
dataset array應用
var country = [
{
farmer:'卡斯伯'
}
,{
farmer:'查理'
}
]
var list = document.querySelector('.list');
//更新農場資料
function updateList(){
var str = '';
var len = country.length;
for(var i = 0;len>i;i++){
str+='<li data-num="'+i+'">'+country[i].farmer+'</li>'
}
list.innerHTML = str;
}
updateList();
//確認點擊的農夫是誰
function checkList(e){
var num = e.target.dataset.num;
console.log(e.target.nodeName);
if(e.target.nodeName !== 'LI'){return};
alert('你選擇的農夫是'+country[num].farmer)
}
list.addEventListener('click',checkList,false);
splice刪除
country.splice(num,1);
第幾筆/要del一個還是兩個