美文网首页
无标题文章

无标题文章

作者: 飞鸟_45d4 | 来源:发表于2018-07-02 17:04 被阅读0次

    综和复习本月知识点总结:

    一:微信小程序

    二:vue复习

    三:js复习

    四:新知识点

    一:微信小程序知识点总结

    开发工具:微信小程序使用微信WEB开发者工具进行编辑开发

    登录:使用微信扫码登录

    开发目录:编辑器左侧

    .js是小程序的脚本代码,.wxss是样式,.json是配置信息,每增加一个页面就是在app.json的page项中进行新增一条配置,微信小程序的页面.wxml有点类似h5中的.html

    使用:小程序提供了一个框架,微信称之为mina

                 rpx单位是微信小程序中css的尺寸单位

                 代码块一般写在组件中

                在标签中好多属性之前都加wx:例如:wx:for=”{{}}”类似VUE中的v-for

                 变量渲染的时候{{变量名}}

                如果app中的数据变化,view中的会自动更新

               使用bindtap进行事件绑定

    二:vue复习知识点总结

    1.md5加密

    md5加密,该加密算法是单向加密,即加密的数据不能再通过解密还原。相关类包含在            java.security.MessageDigest包中。

    2.动态路由,路由拦截:

    登录之后跳转到首页,router是vue应用的router 引入进登录方法,在登录之后跳转之前对router进行改变,改变要点1是精确赋值到router的routes具体地方,比如我这里是routes[0]的子路由,2是用addRoutes函数使其生效

    3.mock.js:

    4.安装qs

    npm install --save axios vue-axios qs 

    import qs from 'qs' qs 用来解决vue中post请求以 a=a&b=b 的格式

    一般搭配stringfy()和parse()使用

    5.脏检查

    脏检查即一种不关心你如何以及何时改变的数据, 只关心在特定的检查阶段数据是否改变的数据监听技术.

    6.双向数据绑定原理:

    通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

    具体步骤:

    第一步:需要observe的数据对象进行递归遍历,包括子属性对象的属性,都加上 setter和getter

    这样的话,给这个对象的某个值赋值,就会触发setter,那么就能监听到了数据变化

    第二步:compile解析模板指令,将模板中的变量替换成数据,然后初始化渲染页面视图,并将每个指令对应的节点绑定更新函数,添加监听数据的订阅者,一旦数据有变动,收到通知,更新视图

    第三步:Watcher订阅者是Observer和Compile之间通信的桥梁,主要做的事情是:

    三:js复习知识点总结

    1. Socket双工通信和ajax的区别

    ajax只能由客户端发起请求,服务端响应,而不能实现服务端请求,客户端响应;websocket两者都可以实现

    2.Call apply和bind的相同点和区别

    相同点:改变函数体内部 this 的指向

    不同点:作用完全一样,只是接受参数的方式不太一样,call 需要把参数按顺序传递进去,而 apply 则是把参数放在数组里。

    3.数组扩展方法 Array.prototype.sum=function

    5. Every()和some()

    every()与some()方法都是JS中数组的迭代方法。

    every()是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true。

    some()是对数组中每一项运行给定函数,如果该函数对任一项返回true,则返回true

    6.传值方式:路由传值,组件传值,本地存储传值,vueX

    本地存储:

    保存数据:localStorage.setItem(key,value);

    读取数据:localStorage.getItem(key);

    删除单个数据:localStorage.removeItem(key);

    删除所有数据:localStorage.clear();

    得到某个索引的key:localStorage.key(index);

    7. Es6特性:

    Class,let和count的块级作用域,promise,解构赋值,模板字符串,箭头函数,闭包

    字符串扩展方法,数组扩展方法,对象扩展方法

    四:新知识点总结

    1.  SVN    

    它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作。

    2. Keepactive的使用

        是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。

    3.http跨域请求

      <1>jscript标签可以得到从其他来源数据,这也是JSONP依赖的根据。缺点:只能发送Get请求 ,无法访问服务器的响应文本(单向请求)

    <2>sCross-Origin Resource Sharing(CORS)跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,确保安全的跨域数据传输

    <3>服务器代理

    同源策略是针对浏览器端进行的限制,可以通过服务器端来解决该问题

    DomainA客户端(浏览器) ==> DomainA服务器 ==> DomainB服务器 == DomainA客户端(浏览器)

    <4> JSONPJSON with Padding)是数据格式JSON的一种“使用模式”,可以让网页从别的网域要数据。根据 XmlHttpRequest 对象受到同源策略的影响,而利用元素的这个开放策略,网页可以得到从其他来源动态产生的JSON数据

    4.Vuex状态管理

    state里面就是存放项目中需要多组件共享的状态

    mutations就是存放更改state里状态的方法

    getters就是从state中派生出状态,比如将state中的某个状态进行过滤然后获取新的状态。

    actions就是mutation的加强版,它可以通过commit mutations中的方法来改变状态,最重要的是它可以进行异步操作

    modules顾名思义,就是当用这个容器来装这些状态还是显得混乱的时候,我们就可以把容器分成几块,把状态和管理规则分类来装。这和我们创建js模块是一个目的,让代码结构更清晰。

    5.对象的合并:

       方法1:使用JQuery的extend方法

    方法2:用 Object.assign()

    方法3:遍历赋值法

    相关文章

      网友评论

          本文标题:无标题文章

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