一:遍历数组去重
|
|
二:对象键值对匹配去重
|
|
三:数组排序后判断相邻是否相等
|
|
四:获取最右值放入新数组
|
|
|
|
|
|
|
|
|
|
在项目开发中使用了angular 的http,post 后台服务器一直接收不到,后来找大神问发现angular 使用的post 是原生的post 和jQuery 有所不同,这才明白。
jq对send方法内的data做了转化,成为以下方式。
这样的方式后台就可以收到了。
angular直接对send的data没有做任何处理,后台自然接收不到,并且angular的post头信息为:
而 jQuery中的post 头为:
所以后台php 以及node都接受不到的;
|
|
用toFormJson方法对data进行转化后再用xhr的send方法发送后台就可以接收到数据了
观察者模式主要是一种订阅事件,然后触发事件,调用回调函数,类似于nodejs的事件机制.
nodejs的事件主要继承自events模块,
123
const EventEmitter = require('events');class MyEmitter extends EventEmitter{};let myEmitter = new MyEmitter();
用一个新类继承EventEmitter,然后实例化它,就可以使用原型上的方法了。
12345
myEmitter.on('events',()=>{ console.log('events事件触发');})myEmitter.emit('events');
nodejs默认最多设置10个监听器,超出之后将会发出警告,可以使用以下方式增加监听数量。
1
myEmitter.setMaxListener(n);
首先创建一个watcher,
至此订阅器完成。如果有事件注册,添加到Watcher的原型方法addEventListener上,用来监听事件。
|
|
事件发射器完成,类似于nodejs的事件模式。
然后实例化Watcher。
|
|
使用 npm 安装
|
|
添加到package.json 文件
|
|
先创建一个配置文件,放在根目录下
|
|
在终端执行如下命令检查
|
|
也可使用flow服务器检查
|
|
停止用如下命令
|
|
需要检查的文件只需在只在这些 JavaScript 文件顶部添加 @flow 作为注释就可以了
|
|
有两种方法
通过注解: 我们指定期望的类型并把它作为代码的一部分,类型检查器会基于这些期望来对代码进行评估。
通过代码推断: 工具聪明到可以通过查看代码被使用的上下文来推断出类型,并基于此对代码进行检查。
如下示例
|
|
这段代码会在你运行 npm run flow 命令的时候在终端上报错, 因为函数 foo() 需要的是一个字符串作为参数,而我们传入的却是一个数字。
报错提示大概如下:
|
|
它明确说明了错误的位置和发生的原因。当我们将参数从数字修改为字符串,报错就会消失,如下:
|
|
|
|
在上述场景中,Flow 会抛出一个错误, 我们就不得不像下面这样对 null 进行单独的处理:
|
|
为了保证代码在所有的情况下都能正常运行,我们专门针对 null 进行检查。Flow 就会将最后的那行代码当做是有效的代码。
|
|
|
|
|
|
文章来自flow
|
|
** 单页面应用程序势必会用到router,vue-router很强大,使用vue-router只需引入即可,然后对router进行配置
|
|
|
|
<h1></h1><a href="#">的效果<blockquote>This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
引用类型
|
|
这是斜体
这也是斜体
这是粗体
这是粗体加斜体删除线
title yuan
引用格式
return shell_exex(“echo $input | $markdown_script”)
1234 var a=10;var obj={a:"yuan"}