🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 1. 移动端适配问题 1. 使用@media查询设置rem 2. 使用vw 作为单位 ,因为vw是将一屏分为100个vw ## 2.this关键字的理解 * 1.在事件中,this指向正在执行事件的当前对象 * 2.在方法中,谁调用方法,this指向谁 * 3.在构造函数中,指向实例化的对象 * 4..在普通函数中调用,this指向window ## 3.cookie localStorage sessionStorage | 特性 | Cookie | localStorage | sessionStorage | | --- | --- | --- | --- | | 数据的生命期 | 一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效 | 除非被清除,否则永久保存 | 仅在当前会话下有效,关闭页面或浏览器后被清除 | | 存放数据大小 | 4K左右 | 一般为5MB | | | 与服务器端通信 | 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 | 仅在客户端(即浏览器)中保存,不参与和服务器的通信 | | | 易用性 | 需要程序员自己封装,源生的Cookie接口不友好 | 源生接口可以接受,亦可再次封装来对Object和Array有更好的支持 | ## 4.创建一个类并实例化自身 es6 ``` class person{ constructor(name,age){ this.name = name; this.age = age } } let ccc = new person("ding",18); console.log('实例',ccc); ``` es5 ``` function Person(name,age) { this.name = name; this.age = age } var ding = new Person("ding",18) console.log(ding) ``` ## 5.如何解决回调地域 [回调地狱](https://www.kancloud.cn/henputongderen/donghuaxiaoguo/910518) - promise ``` ~~~ function promise(url) { return new Promise(function (resolve, reject) { $.ajax({ url, type: "get", dataType: "jsonp", success: function (res) { resolve(res); // resolve 处理异步操作成功的结果 }, error: function (err) { reject(err) // reject 处理异步操作失败的结果 } }) }) } ~~~ ``` - generator - async ## 6.ES6的新特性 1. 解构,展开语法 解构 从数组和对象提取值并赋值给独特的变量 展开 使用 (...)将对象展开为多个元素 2. let声明 有了块级作用域,let不能重复定义,不会声明提前 3. 有了class类 4. 有箭头函数