每天10个前端知识点:原生篇(6)

个人博客已上线,欢迎前去访问评论!
无媛无故 - wangchloe的个人博客


以下内容若有问题烦请即时告知我予以修改,以免误导更多人。

本次内容:cookie、Require、数据交互前导


1. cookie

数据类型:string

  1. 需在服务器环境中
  2. 不安全
  3. 过期时间(expires):默认关闭浏览器时清空

session的常见实现形式是会话cookie(session cookie),即未设置过期时间的cookie;
平常所说的cookie主要指的是另一类cookie——持久cookie(persistent cookies)。

每天10个前端知识点:原生篇(6)_第1张图片
cookie && session.png

  1. 容量小,4k左右

  2. 返回的数据类型是字符串,使用时需转化

  3. 内部能访问外部cookie,外部不能访问内部cookie
    path统一设置到根目录 document.cookie = 'name=value;path=/';

  4. domain 设置域名访问
    eg: baidu
    baidu.com domain=baidu.com 需在上一级域名设置domain
    fanyi.baidu.com setCookie
    baike.baidu.com getCookie

  5. 有缓存

封装cookie.js


2. 模块化

sea.js && require.js

sea.js require.js
采用CMD(通用模块定义,依赖就近) 采用AMD(异步模块定义,依赖前置)

AMD 和 CMD 的区别有哪些? - 玉伯的回答 - 知乎

前端模块化(CommonJs,AMD和CMD)

详解JavaScript模块化开发

3. Require.js

RequireJS 中文网

好处

  1. 解决命名冲突
  2. 解决文件彼此依赖
  3. 自动引入js
  4. 异步加载,可维护性高
    只发送一个请求,最终引用文件命名为init.js
    或者

(1)定义模块

r1.js


(2)使用模块



(3)引用模块

这里的模块依赖其实应该一开始就写好。

每天10个前端知识点:原生篇(6)_第2张图片
依赖前置

因专用于js,require时可省略类型后缀 'js/r1.js' -> 'js/r1'

Require的使用结构一般如下

exp1.html放于主目录
js文件放在js文件夹下

exp1.html

...
...



...
...


init.js


exp1.js


r1.js


4. 数据交互

form提交数据

缺点:(1)会刷新页面 (2)不能取出数据

想要提交数据须有

  1. action 提交的地址
  2. name 数据名称
  3. value 数据 input.value

提交方式

  1. get(默认) 容量32K左右 不安全,有缓存
    ** 好处:(1)分享 (2)收藏**

  2. post 容量1G左右 相对安全,没有缓存

缓存(cache)
对于浏览器而言,相同的地址只会访问一次

ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)

  1. 需在服务器环境中
  2. 编码需一致
  3. url若为文件名,可不写文件名后缀
  4. 返回的数据类型是字符串,使用时需转化
  5. 缓存(get方法)
    浏览器清除缓存 ctrl+F5ctrl+alt+delete
    防止IE缓存
    路径+随机因子
    (1)'路径?t=' + Math.random();
    (2)'路径?t=' + oDate.getTime();
    eg:var URL = 'user.php?act=login&user=' + logU.value + '&pass=' + logP.value + '&t=' + new Date().getTime();

5. eval的替代用法


6. 数据交互时输入中文问题

中文转换URL编码 encodeURIComponent(str)
解编码 decodeURIComponent(str)

IE兼容写法



更多内容可以订阅本人微信公众号,一起开启前端小白进阶的世界!

公众号是坚持日更的,不发文的时候推送一些我觉得好用的前端网站或者看到的一些问题的解决方案,也更便于大家交流,就酱。

每天10个前端知识点:原生篇(6)_第3张图片
微信公众号:无媛无故

你可能感兴趣的:(每天10个前端知识点:原生篇(6))