总结小程序
1 小程序是微信全新定义的规范,是基于xml+js的,不支持也不兼容HTML,兼容受限的部分CSS写法。
2 在项目中微信小程序的优化
一、将所有的接口放在统一的js文件中并导出
· 二、在app.js中创建封装请求数据的方法 会导致第一次加载数据过慢
三、在子页面中调用封装的方法请求数据
3 小程序页面传值的方法
一、给HTML元素添加data-*属性来传递我们需要的值,然后通过e.currentTarget.dataset或onload的param参数获取。但data-名称不能有大写字母和不可以存放对象
二、设置id 的方法标识来传值通过e.currentTarget.id获取设置的id的值,然后通过设置全局对象的方式来传递数值
三、在navigator中添加参数传值
4小程序的双向绑定和vue哪里不一样?
小程序直接this.data的属性是不可以同步到视图的,必须调用:
this.setData({ noBind:true })
5 文件结构分析
①app.js 这里面是存放了用户数据信息
②app.json 先看到pages 这里面是存放了配置文件 第一个默认为首页 window 里面存放了title标题 有颜色和样式等等
③app.wxss 这里面就是存放了一些样式 可以把它看做一个css文件
④project.config.json 个人感觉像是存放了一些项目配置文件(里面第一行写的就是项目配置文件...哈哈哈哈)
6 小程序的优化
?
其他的就是一些小程序的使用方法
7 小程序启动过程
作者:崽崽不哭
链接:https://www.jianshu.com/p/38680d955c19
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
本月我们所学小程序的内容和Vue的基本思路都非常的相似 只要学过Vue基本上学习的微信小程序的就比较轻松
1.首选先去微信小程序。微信公众平台上面去注册一个微信小程序开发的资格 网址 https://mp.weixin.qq.com/cgi-bin/wx
2.小程序API网址 https://developers.weixin.qq.com/miniprogram/dev/api/
3.下载微信小程序开发者工具
4.创建微信小程序项目
5.微信小程序上的所有功能都能在API网址上面能*够找到
6.其微信小程序里面的页面和之前我们写的项目的格式有所不同
创建项目之后出现四个文件
js文件:js文件创建了我们自动创建了我们的所有钩子函数 我们的js操作都是写在这页面
json文件 在这个文件可以控制我们头部上的标题等一系列功能
wxml文件:这个就是在页面展示我们所写的内容 在功能上的处理都是传入的js文件上进行处理的
wxss文件 :这个文件就是把我们所有的样式都写入这文件里面
一个总的app.json这是一个非常重要的文件 当我们创建文件一个会在app.json里面自动创建一个路径 我们页面跳转和微信小程序里面的小图标都是放在这个文件里面 如果想把页面放在第一个就把app.json里面的路径放到第一个上面去
vue
1.vue双向数据绑定的原理
2.懒加载的原理
3.动态创建路由
4.路由传值
5vueX基本讲解
6.vue的axios的get和post请求的区别
7.vue的11个生命周期钩子函数
8。mock.js的作用就是在后台没有发送个前台数据的时候,可以先模拟出数据进行操作
es5和es6的区别
let const 和 字符串模板
let有块级作用域
class
promise
Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。
所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。
Promise对象有以下两个特点。
(1)对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。这也是Promise这个名字的由来,它的英语意思就是“承诺”,表示其他手段无法改变。
(2)一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise对象的状态改变,只有两种可能:从pending变为fulfilled和从pending变为rejected。只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved(已定型)。如果改变已经发生了,你再对Promise对象添加回调函数,也会立即得到这个结果。这与事件(Event)完全不同,事件的特点是,如果你错过了它,再去监听,是得不到结果的。
注意,为了行文方便,本章后面的resolved统一只指fulfilled状态,不包含rejected状态。
有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接口,使得控制异步操作更加容易。
Promise也有一些缺点。首先,无法取消Promise,一旦新建它就会立即执行,无法中途取消。其次,如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。第三,当处于pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。
如果某些事件不断地反复发生,一般来说,使用 Stream 模式是比部署Promise更好的选择。
字符串的扩展
includes(), startsWith(), endsWith()
箭头函数
ES6标准新增了一种新的函数:Arrow Function(箭头函数)。
为什么叫Arrow Function?因为它的定义用的就是一个箭头:
x => x * x
上面的箭头函数相当于:
function(x){returnx * x;}
在继续学习箭头函数之前,请测试你的浏览器是否支持ES6的Arrow Function:
'use strict';
console.log('你的浏览器支持ES6的Arrow Function!');
Run
箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }和return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }和return:
解构赋值
global
ES5 的顶层对象,本身也是一个问题,因为它在各种实现里面是不统一的。
浏览器里面,顶层对象是window,但 Node 和 Web Worker 没有window。
浏览器和 Web Worker 里面,self也指向顶层对象,但是 Node 没有self。
Node 里面,顶层对象是global,但其他环境都不支持。
同一段代码为了能够在各种环境,都能取到顶层对象,现在一般是使用this变量,但是有局限性。
全局环境中,this会返回顶层对象。但是,Node 模块和 ES6 模块中,this返回的是当前模块。
函数里面的this,如果函数不是作为对象的方法运行,而是单纯作为函数运行,this会指向顶层对象。但是,严格模式下,这时this会返回undefined。
不管是严格模式,还是普通模式,new Function('return this')(),总是会返回全局对象。但是,如果浏览器用了 CSP(Content Security Policy,内容安全策略),那么eval、new Function这些方法都可能无法使用。
js
1.闭包
闭包就是在函数外部能够访问函数内部的变量 简单的来说就是 函数套函数 闭包的好处就是在函数内部的局部变量不会执行完之后就销毁
坏处就是内存占用过大 内存泄漏 主要用在插件封装 和 面向对象 一般情况下我们不推荐使用闭包
2.跨域
跨域是因为我们的同源策略 同域名 同端口 同协议 跨域问题只是针对于浏览器 在后台请求数据就没有跨域问题 跨域有三种解决方案
1在后台的时候直接写一个header 头就能解决
2.前后端的配合使用 jsonp 但是这个 jsonp本身与ajax并没有任何的关联 只是在这时候使用它
3.后台请求并没有跨域这一说 访问别的数据的时候 创建一个公共的数据库 然后把数据拿过啦发送给前台就可以了
3.作用域
全局作用域: 最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的
局部作用域:和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到,而对于函数外部是无法访问的,最常见的例如函数内部
4 Undefined==null ’ ’’==0 1==true 0==false// 除了上述的几个返回值为true,其余全为false
5.parseint强制转换为取整形 parsefloat强制转换为浮点型 number强制转换为数值
8.原型
Es6之前,js是一种弱类型语言,实现对 对象属性或方法的扩展与继承;
9..原型链
当我们获取一个对象的属性或方法的时候,如果其本身没有,那么就通过__proto__往上找,知道null为止;
10.在click事件不推荐使用 会有300的延迟
11.阻止默认事件 preventDefault 阻止冒泡事件 stop.propagation
12 默认event 兼容的方法 e ||windwo.event
13 ajax 和 socket的区别
Ajax是单向请求数据 是客户端向服务端请求数据,服务端才会主动给客户端发送数据;是单轮循,是单工通信;
Socket是双向请求数据,客户端可以向服务端请求数据,服务端也会主动给客户端推送消息,是多轮循,是双工通信,可以跨域通信;