12 2017 档案

摘要:至今博主对于MVVM框架比较了解的就只能算有Angular了,首先给大家明确一个概念,Angular1.x才能叫Angular.js,而Angular2、4、5都直接叫Angular了,因为从2开始已经是用TypeScript开发的了,不能再称它为js框架,值得肯定的是Ng2比Ng1.x的确更强大, 阅读全文
posted @ 2017-12-31 21:16 张啊咩 阅读(248) 评论(0) 推荐(0) 编辑
摘要:见识到原生nodeJs服务器的恶心后,我们来用下简单好用的框架吧~ 服务器无非主要提供接口和静态文件读取,直接上代码: 其实express的核心是中间件,所谓中间件就是带上req,res和next的函数。例如,我们自定义一个访问日志中间件: 之后可以直接当作中间件使用了: 实际上,在实际做项目的时候 阅读全文
posted @ 2017-12-30 09:09 张啊咩 阅读(289) 评论(0) 推荐(0) 编辑
摘要:MVC是最经典的开发模式之一,最早是后台那边来的,后台前端的复杂度也上来了,MVC的开发模式也带进前端了。 MVC: MVC有两个很明显的问题: 1.m层和v层直接打交道,导致这两层耦合度高 2.因为所有逻辑都写在c层,导致c层特别臃肿 为了解决这两个问题,MVC的变种模式出现了MVP和MVVM. 阅读全文
posted @ 2017-12-29 16:14 张啊咩 阅读(4428) 评论(0) 推荐(0) 编辑
摘要:上一章讲到怎么样用原生node.js来获取GET、POST(urlencoded,formData)的参数,这一次我们更进一步,讲一下以下的点: 1.压缩(zlib) 2.流(stream) 3.路由 一、压缩 所有网站其实在发送到我们的客户端的时候,数据都是经过压缩的,不然会造成大量的流量损失,流 阅读全文
posted @ 2017-12-28 10:08 张啊咩 阅读(265) 评论(0) 推荐(0) 编辑
摘要:后台对于我们前端来说可能真的有点陌生,下面我来理清一下思绪吧。 一个基本的后台要求有如下功能: 1.与前端的数据交互 2.操作数据库(增删改查) 3.操作服务器文件(也大概是增删改查) 本次我们先讨论一下前后端的数据交互吧。 要实现数据交互,我们就要写接口了,接口通常分为3大类:GET、POST(e 阅读全文
posted @ 2017-12-26 19:23 张啊咩 阅读(618) 评论(0) 推荐(0) 编辑
摘要:爬虫其实就是模仿浏览器访问页面,然后把页面保存起来备用。 爬虫的方法,直接上代码: 上面的方法普通页面够用了,但是有些页面有些奇怪,例如天猫,编码是gbk,所以我们需要用把buffer进行gbk解码: 获得html字符串后,我们通常的做法就是写正则来匹配,这样无疑是极其麻烦的,我们有一个node组件 阅读全文
posted @ 2017-12-16 22:34 张啊咩 阅读(400) 评论(0) 推荐(0) 编辑
摘要:d3是一个及其庞大的库,有20个模块,大小也达到了216kb,是JQ1.x的2倍多,JQ3.x的3倍多,JQ本来就挺笨重的一个库,d3更是如此,但是它的功能确实很强悍~ d3的定位是一个科学计算库,并不是一个图形库,只是它能帮你算出路径,但是把路径画成svg图它是没有帮你的,有时候算出来的路径还要经 阅读全文
posted @ 2017-12-16 11:22 张啊咩 阅读(1790) 评论(0) 推荐(0) 编辑
摘要:我们知道js很擅长处理数组,例如forEach,map,reduce,filter....面对各种情况都有原生对应专门的方法提供选择~~ 但是印象中字符串好像方法就没有数组这么丰富了,其实js提供的操作字符串的方法也不少,只是我们用得少罢了,为什么呢?因为我们有强大的正则表达式,可以匹配任何你想匹配 阅读全文
posted @ 2017-12-15 16:56 张啊咩 阅读(225) 评论(0) 推荐(1) 编辑
摘要:相信大家对node.js也很不陌生吧,现在我来总结一下常用的吧~ 我们Web全栈工程师最多的就是用Node作为后台了,Node.js虽然可以作为后台语言,但是相对于Java那些老牌后台语言真是一点优势都没有,Node.js更多是作为工具为我们的开发提供便利而已。 Node.js = 后台(35%) 阅读全文
posted @ 2017-12-15 10:40 张啊咩 阅读(154) 评论(0) 推荐(0) 编辑
摘要:官网:http://echarts.baidu.com 基本用法: 先写一个容器(例如下面的<div id="box"></div>),然后获取box,初始化获取chart对象,let chart = echarts.init(box); chart.setOption({~~~~}); 阅读全文
posted @ 2017-12-14 20:18 张啊咩 阅读(169) 评论(0) 推荐(0) 编辑
摘要:相信大家对Cookie多多少少都有点了解吧~~下面我来谈谈吧: 每个Cookie不超过4K数据,每个网站不超过20个Cookie,所有网站的Cookie总和不超过300个 虽然cookie已经是上世纪的产物了,但是cookie至今仍被广泛应用,就算H5把localStorage做出来用来取代cook 阅读全文
posted @ 2017-12-13 16:28 张啊咩 阅读(157) 评论(0) 推荐(0) 编辑
摘要:js的对象有三大类,内部对象(本地对象和内置对象)、宿主对象和自定义对象 一、内部对象 1.本地对象,ECMAScript提供的需要实例化(new)才能使用的对象: Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalE 阅读全文
posted @ 2017-12-13 10:38 张啊咩 阅读(728) 评论(0) 推荐(0) 编辑
摘要:先常规先引入Raphael库: 然后就很简单了,直接操作,也不用再手动写svg什么的。 1.新建画布 2.建立图形 3.改变图形属性和样式 4.图形绑定事件 事件大概有click、hover、mousedown、mousedown、mousemove、mouseup、touchstart、touch 阅读全文
posted @ 2017-12-12 17:43 张啊咩 阅读(8076) 评论(0) 推荐(0) 编辑
摘要:有用过transform的小伙伴们可能都会遇到一些问题,发现transform得到的结果往往不是我们所想的 例如scale(2,1) rotate(30deg) ,我们预想的结果是一个先放大的元素,然后旋转30度,结果应该是一个没有变形的元素,但是显示很残酷: 理想: 变成 》》》 实际: 变成 》 阅读全文
posted @ 2017-12-11 23:44 张啊咩 阅读(1540) 评论(0) 推荐(0) 编辑
摘要:大家都知道,js的对象是引用类型,如果直接var obj2 = obj,obj2和obj是共享同一个对象实体的,这往往不是我们想要的结果。 官方并没有给出通用的对象克隆方法: 我们给出以下几种写法: 1.通用对象克隆: 遇到数组对象类型、正则对象类型、时间对象类型、普通对象类型都需要有自己的特殊,最 阅读全文
posted @ 2017-12-11 16:33 张啊咩 阅读(32788) 评论(1) 推荐(2) 编辑
摘要:我们经常用setInterval来实现动画,其实这种做法不是太好,因为不同浏览器的刷新频率也不一样(一般认为设置16为最佳,按每秒60帧算,1000/60≈16.67) 实现js动画最好的是requestAnimationFrame: requestAnimationFrame 比起 setTime 阅读全文
posted @ 2017-12-10 19:33 张啊咩 阅读(12074) 评论(0) 推荐(1) 编辑
摘要:在页面上画图无非有两种方法,一种是canvas,另外一种就是svg了,canvas之前已经介绍过了,现在来介绍一下svg吧。 其实早在svg出现以前几年,微软已经推出了类似的东西,叫做vml,早期是为了使excel的图形转化为网页来展示而做的,但是由于过早的创新,当时并不被大家接受,后来svg出现, 阅读全文
posted @ 2017-12-09 09:39 张啊咩 阅读(365) 评论(0) 推荐(0) 编辑
摘要:js用来判断数据类型的方法有2种:typeof和instanceof,一般typeof就够用 1.typeof typeof一般只能返回如下几个结果:number,boolean,string,undefined,function,object 2.instanceof instanceof就是用于 阅读全文
posted @ 2017-12-08 17:33 张啊咩 阅读(121) 评论(0) 推荐(0) 编辑
摘要:js变量是除了this以外最让人恶心的东西了,还因为烂语法造成各种各样奇奇怪怪的事情发生,下面让我们来谈谈都有什么奇怪的事: 1.用var与不用var 容易看出,在函数内部,没有用var定义的变量变成了全局的了,究竟发生了什么事呢?那就是万恶的作用域链在作怪了~~ 首先,变量 = 。。。这种赋值写法 阅读全文
posted @ 2017-12-08 08:39 张啊咩 阅读(192) 评论(0) 推荐(0) 编辑
摘要:最近了解到svg,原来它出现之前好几年,微软已经推出了vml,但是那时候却被人吐槽无数,看来过早的创新也是失败的原因之一呢~ 为什么谈到这个话题呢?因为IE史上有一个特别奇怪的浏览器IE8,它及不兼容VML又不兼容SVG,因此我们想用VML或者SVG的时候遇到IE8我们只能选在降级或升级,怎么做到呢 阅读全文
posted @ 2017-12-07 14:45 张啊咩 阅读(249) 评论(0) 推荐(0) 编辑
摘要:有些小伙伴应该尝试过以上的操作吧~~这个是为什么呢?报错也说得不明不白,只是说“不合法的调用”,下面我来解释一下吧~ 再来看下这个: 这里没有报错,这是为什么呢?都是用一个变量装载系统内置的函数,为什么一个可以运行,一个就报错呢? 上网查了一下解决方法,很简单,就是把querySelectorAll 阅读全文
posted @ 2017-12-07 11:57 张啊咩 阅读(196) 评论(0) 推荐(0) 编辑
摘要:面向对象相信大家听得不少了,但是实际上的真正能明白讲清除的不多,让我们来谈谈吧~~ 一、对象 简单来说,对象就是一个黑盒子,里面封装许多你不了解的东西,它有许多属性和方法供你使用~~ 对象的组成就是: 1.属性———变量,放到特定对象上就称为属性 2.方法———函数,放到特定的对象上就称为方法 二、 阅读全文
posted @ 2017-12-06 14:48 张啊咩 阅读(141) 评论(0) 推荐(0) 编辑
摘要:1.&(与) 都是1才是1 例如:14&15 (14 二进制 1110 15 二进制 1111 &与的结果 1110 》结果14) 2.|(或) 有一个是1就是1 例如:14|15 (14 二进制 1110 15 二进制 1111 |与的结果 1111 》结果15) 3.^(异或) 不同就是1 例如 阅读全文
posted @ 2017-12-01 09:53 张啊咩 阅读(3279) 评论(0) 推荐(1) 编辑
摘要:除了正常我们常用的十进制(如5,8,12.123等),js还可以直接表示2、8、16进制 1.二进制 二进制是以0b开头 2.八进制 八进制是以0开头 3.十六进制 十六进制是以0x开头 可以看出js虽然是支持2、8、16进制,但是它最后得出结果的时候仍然把数字转为10进制,如果我们需要结果是2、8 阅读全文
posted @ 2017-12-01 08:00 张啊咩 阅读(2449) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示