美文网首页
无标题文章

无标题文章

作者: 不羁绊的青春 | 来源:发表于2018-07-02 17:09 被阅读0次

    总结小程序 

    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更好的选择。

    字符串的扩展

    字符的 Unicode 表示法

    codePointAt()

    String.fromCodePoint()

    字符串的遍历器接口

    at()

    normalize()

    includes(), startsWith(), endsWith()

    repeat()

    padStart(),padEnd()

    matchAll()

    模板字符串

    箭头函数

    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是双向请求数据,客户端可以向服务端请求数据,服务端也会主动给客户端推送消息,是多轮循,是双工通信,可以跨域通信;

    相关文章

      网友评论

          本文标题:无标题文章

          本文链接:https://www.haomeiwen.com/subject/hynoyftx.html