cookie         存储
    以站点为单位的。
    必须配合服务器环境
    不能跨浏览器
    cookie有生命周期     默认是session
        session         会话
            打开页面会话开始
            关闭浏览器会话结束
    名字不能重复
    容量有限:     4KB

如何存数据?
        document.cookie = 'name=value';

document.cookie = 'name=value; PATH=/';

document.cookie = 'name=value; PATH=/; EXPIRES='+oDate;
    如何取数据?
        document.cookie
    如何删除数据?
        把过期时间设置到以前

什么时候使用?
如何使用?
    拖拽
        存
            鼠标抬起存
        取
            页面加载取
    选项卡
        存
            切换之后存
        取
            页面加载取

记住用户名
        存
            登录时存
        取
            页面加载取

日期时间
            高级浏览器
            Wed May 10 2017 10:55:51 GMT+0800 (中国标准时间)
            低版本ie
            Wed May 10 10:57:01 UTC+0800 2017

oDate.toGMTString()
            或者
            oDate.toUTCString()
====================================================
localStorage             本地存储

cookie            localStorage                
大小     4KB             5MB
操作    麻烦             简单
过期     有默认是session    没有过期时间
复杂    很多属性         key , value
本地化     不是             是
==================================================
    window.localStorage


        localStorage.名字 = 值;
    取
        localStorage.名字;
    删
        delete localStorage.名字;
========================================================
localStorage存入的所有的东西都变成了字符串
    存入
        [1,2,3,4,5]
    变成
        '1,2,3,4,5'

存入
        {"a":12,"b":5}
    变成
        '[object Object]'

序列化、持久化
        对象-》字符串

var str = JSON.stringify(obj)

eg:
            var str = JSON.stringify([1,2,3,4]);

'[1,2,3,4]'

eg2:
            var json = {"name":"lucy","age":12};
            var str = JSON.stringify(json);

'{"name":"lucy","age":12}'

反序列化、反持久化
        字符串-》对象

var obj = JSON.parse(str);

'{"name":"lucy","age":12}'
        {"name":"lucy","age":12}

'[1,2,3,4]'
        [1,2,3,4]

存的时候:序列化
        JSON.stringify(obj);
    取的时候:反序列化
        JSON.parse(str)

-----------------------------------------------------
    可以模拟多窗口通信

window.onstorage
        当localStorage的值改变的时候触发
        window.onstorage = function(ev){
            ev.key             被改的名字
            localStorage[ev.key]     被改的值
        };
===========================================================
    localStorage的兄弟
    sessionStorage
        跟localStorage     一模一样,任何操作都一模一样
        唯一一点区别就是sessionStorage有过期时间
            过期时间:session,关闭浏览器的时候
====================================================
ES6        ECMAScript 6         ECMAScript.next

ES标准
        JavaScript
        TypeScript         微软出的
            AngularJS从2.0开始
        ActionScript    Flash
历史
    ES1.0         
    ES2.0
    ES3.0             
    ES4.0             干掉了。
    ES3.1             4.0的阉割版     harmony
    ES5.0
    ES6.0

ES5.0和ES6.0沦为后台
    NodeJS
=======================================================
    声明变量
        let 名字 = 值;
        块级作用域
            {

}
        不允许重复声明
    声明常量
        不能改变
        一经声明,就不能改变了。
        const 名字 = 值;
        不允许重复的声明
        必须声明的时候直接给值
        const a;         a = 5             不允许
----------------------------------------------------------
    字符串拼接
    var name = '张三';
    var age = 18;
    var str = '我叫"'+name+'",今年"'+age+'"岁';

新写法
    var str = `我叫"${name}",今年"${age}"岁`;
----------------------------------------------------------
    解构赋值
        let [a,b] = [12,5];
        let [a,[b,c],d] = [12,[5,3],8];
        var {a,b} = {a:12,b:5};

let left = 0;
        let top = 0;
            var json = {
                left:left,
                top:top
            }
            等
            var json = {
                left,
                top
            }

function changeColor(obj,color='black'){
            相当于
            color = color||'black'';

}
---------------------------------------------------------
    扩展运算符

var arr = [1,2,3]
        var arr2 = [...arr];
        只能玩数组

function sum(...args){
            args     相当于    arguments
        }
-----------------------------------------------------------
function show(a){
    var json = {b:5};
    delete json.b;
    alert(json.b);             undefined
    delete a;                 
    alert(a);                12
}
alert(show(12));             undefined

前端学习(二十七)存储&es6(笔记)的更多相关文章

  1. 前端学习(二)css样式笔记(笔记)

    background-image:url(img/xiaofeiji.jpg)背景图:url(图片路径):(背景图默认平铺) background-repeat:repeat-x/repeat-y/n ...

  2. 前端学习(十七):JavaScript常用对象

    进击のpython ***** 前端学习--JavaScript常用对象 JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等 在JavaScript中,对象是拥有属性和方法的数据 ...

  3. Java开发学习(二十七)----SpringMVC之Rest风格解析及快速开发

    一.REST简介 REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格 当我们想表示一个网络资源的时候,可以使用两种方式: 传统风格资源描 ...

  4. 前端学习(二十八)es6&ajax(笔记)

    ES6    let    块级作用域    const    解构赋值    字符串拼接    扩展运算符    ------------------------------------------ ...

  5. 前端学习(三十七)angular(笔记)

    MVC     后台    M         Module             数据层    V         View             视图层    C         Contro ...

  6. 前端学习(二十九)nodejs(笔记)

    后台语言    java     php     .Net     python    Node.js------------------------------------------------- ...

  7. 前端学习(二十三)DOM操作,事件(笔记)

    javascript 组成部分    1.ECMAScript        javascript的核心解释器 2.DOM        Document Object Modle         文 ...

  8. 前端学习(三十)es6的一些问题(笔记)

    赋值表达式    document.onclick = document.onmouseover = fn;    var a = b = c = d = 5;             不推荐 逗号表 ...

  9. 前端学习(二十六)移动端s(笔记)

    ===================================================弹性布局rem布局---------------------------------------- ...

随机推荐

  1. css3的三大特性以及移动端说明

    css3的三大特性: 一.层叠性 所谓层叠性是指多种CSS样式的叠加. 是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉 比如先 ...

  2. Angular JS - 9 - SeaJS加载js模块

    seajs加载模块的三种方式 1.seajs.use() 加载入口模块,类似于Java的main函数 2.require:      当在一个模块中需要用到其它模块时一般用require加载 1)   ...

  3. CGContextRef 使用小记

    . 用CGContextRef 画文字 在 UIView的 - (void)drawRect:(CGRect)rect {} 方法中进行 CGContextRef context = UIGraphi ...

  4. 如何稀释 流事件 (如,onscroll、change、input、mouseover 等 事件)

    1.问题引入:https://segmentfault.com/q/1010000000707337?_ea=62905 2.javascript中的函数节流和函数去抖:https://www.cnb ...

  5. [CSP-S模拟测试]:公园(BFS+剪枝)

    题目传送门(内部题31) 输入格式 第一行,五个整数$V,M,N,E,L$.接下来$M$行,每行两个正整数$s_i,a_i$.保证$s_i$互不相等.接下来$N$行,每行两个正整数$t_j,b_j$. ...

  6. Linux随笔 - 修改主机名

    1.临时修改主机名: hostname 主机名 修改只能临时有效,机器重启后会自动还原. 2.永久修改主机名: 修改hostname文件(路径:/etc/sysconfig/network),把hos ...

  7. vue 页面添加水印 ts

    "use strict"; // tslint:disable-next-line: only-arrow-functions const setWatermark: (str: ...

  8. 网络命令-nc(一)

    一直在linux环境下编程,但却没有用过nc命令,不过最近发现Netcat这个命令-nc,发现真的蛮强大的, 为了备忘,就写了这个博客吧,不求全,只求把自己觉得很有用的命令整理出来,这篇文章估计要长期 ...

  9. Java + selenium 元素定位(4)之By CSS

    这篇我要介绍元素定位的倒数第二个方法啦,就是基于CSS的元素定位.关于一些CSS的知识,我这里就不累赘的讲了,以后可能会单独写一篇关于CSS的介绍.当然个人推荐如果之前完全没有CSS只是储备的,可以选 ...

  10. Oracle基础数据类型与运算符

    Oracle基础数据类型: 1. 字符型:字符串 char(最大2000), nchar(最大1000, 支持                           Unicode)--->固定长 ...