evilemon的博客

http://evilemon.github.io/

突然想到的seo问题

一般来说,使用js进行构建的页面seo比较困难,考虑了一下可能是这个原理。许多页面在渲染后产生的静态页面经过后端处理,等着b端发get请求。然而许多单页应用,它的页面改变的只是hash值,对于网络爬虫来说等于没有发送get请求,所以爬虫无法爬到这些东西,seo就很困难。再加上很多触发动作,爬虫都是...

2016-05-31 15:14:33

阅读数 263

评论数 0

关于react组件之间的通信

如果是父子组件之间的通信可以使用refs和props,代码如下var YiTang = React.createClass({ sayFather: function () { this.props.deliver(); console.log('MuTa, my father!'); ...

2016-04-28 16:50:49

阅读数 581

评论数 0

正则表达式

最近一直想写自己的Js框架,借鉴了别人的框架,发现前端框架中正则表达式太重要了,因此决定在写自己的框架之前,必须闭关复习一下正则表达式。 元字符 元字符是匹配位置的字符,匹配一个位置或者字符集的一个字符。匹配位置的元字符有3个:^  $  \b。 ^$匹配一个空行,^匹配任意一行,\b匹配字...

2016-01-21 15:34:11

阅读数 293

评论数 0

关于js单线程的问题

js是一门单线程执行的语言,但是不妨碍js可以并发执行,在极小的时间间隔内,可以看成是并行执行的。html5引入web worker这一多线程概念,但是web worker却不能操作dom,因为多线程的操作dom必然导致dom的冲突和崩溃。 js操作dom时是单线程的,浏览器内核也是分为两部分,...

2016-01-18 13:57:30

阅读数 575

评论数 0

考察自己this指向

之前好几篇文章讲到this指向问题。我觉得js是一门奇特的语言,蛮有意思的语言。直接上代码 var module = {}; module.exports = { el: '#fullpage', currentPage: 1, page1Init: (function ...

2016-01-14 13:28:56

阅读数 368

评论数 0

遍历器构造。

es6的遍历器协议规定,部署了next方法的对象,就具备了遍历功能。 function iterator(array) { var index = 0; return { next : function () { return index < array.length ...

2016-01-07 17:58:33

阅读数 751

评论数 0

scroll事件不触发?

当用户在元素内执行了滚动操作,就会在这个元素上触发scroll事件。它适用于window对象,但也可以是可滚动frames与CSS overflow属性设置为scroll的元素(或auto时,元素的显示高度小于其内容高度)。 今天试了半天scroll事件,总是在疑问为什么scroll事件不触发,...

2016-01-04 16:53:44

阅读数 2626

评论数 0

常用的,不想再百度了

//两种方法设置disabled属性 $('#areaSelect').attr("disabled",true); $('#areaSelect').attr("disabled","disabled"); //三种方法移除dis...

2016-01-04 13:12:09

阅读数 310

评论数 0

事件代理日常总结

js是单线程的,添加事件的时候如果正好加载异步数据,dom节点很有可能没有加载上就已经进入了事件队列,导致dom无法添加事件 var s = document.querySelector('body'); var tem; s.addEventLis...

2016-01-04 12:24:56

阅读数 302

评论数 0

日常总结之angularjs的双向绑定全透析

前几天各种看关于依赖注入的书,分析了angularjs的依赖注入原理。这几天又重新复习了一下ng的双向数据绑定。 angularjs中关于数据双向绑定的几个关键api有$watch()、$apply()以及$digest()。 $watch()用于视图向模型的检测,$apply()是模型向视图的检...

2015-12-16 14:49:56

阅读数 1130

评论数 0

依赖注入的javascript实现

前后端终究是要完成合久必分分久必合的趋势。在前后端分离的前提下,后端的一些设计模式慢慢地向前端过渡。 依赖注入在java等后端语言的发展下慢慢在前端使用。 在java中di主要是将对象在容器中实例化。使用控制反转(ioc)。像在angular中,双向数据绑定根据对模型的监控进行实现。而依赖注入...

2015-12-14 20:53:54

阅读数 1147

评论数 0

日常总结 之 angular copy 深拷贝

angular提供了一个可以复制对象的api——copy(source,destination),它会对source对象执行深拷贝。 angular的操作实质是对dom的model进行操作,几乎所有的渲染都应放在model层。 Name: E...

2015-12-14 10:32:04

阅读数 5568

评论数 0

日常笔记之Buffer的拼接

nodejs中buffer模块使用频率较高,因此在node启动的时候自动加载。通常buffer使用的是utf8编码方式,一个汉字编码是以3个utf8码字组成,因此在读取的时候会产生截断,截断的位置不是整数倍的时候会产生乱码。常用的var fs = require('fs'); var rs = f...

2015-12-14 09:44:27

阅读数 421

评论数 0

基于nodejs的tcp服务器与客户端

不得不说nodejs的强大API实现了之前复杂网络编程的简单化。 一下是server端的js程序,实现各个socket连接的轮询。 var net = require('net'); var server = net.createServer(); var sockets = []; ser...

2015-12-11 11:26:36

阅读数 532

评论数 0

node.js读写数据流

node中有个流的概念,stream。代表数据流动方向:向内流(可读流),向外流(可写流)。常用的流形式是文件,和tcp套接字。流是以快为单位发送数据,通过监听‘data’事件,每一次得到一块数据即进行一次操作,当数据结束时,监听end事件,执行后续操作。 可读流可以通过stream.pause...

2015-12-10 11:38:56

阅读数 5556

评论数 0

web开发中Array与ArrayBuffer的区别

javascript是一种弱语言类型,自带Array构造函数用于构造数组,但是在Web Audio和webgl中需要传输的数据往往需要很高精度,这时候使用数组就不起作用了,需要引入C语言中类似的32位或者64位的浮点数。在js中数组的创建一般使用new Array(5);或者直接给出数组。var ...

2015-11-23 14:24:13

阅读数 1506

评论数 1

滚动视觉差原理

首先要知道一个api window.scrollTo(x,y) 其中x,y分别为滚动条向x,y方向移动的位置,如果网页宽度不够则不出现滚动条,设多少都没用。 $(function() { $(window).scroll(function(){ var scrolled ...

2015-11-19 19:07:38

阅读数 2125

评论数 0

针对video标签改变其缩放比例比如4:3

.border{ position:relative; width:100%; height:0; padding-bottom:75%; //因为padding和margin等受width影响,父容器固定后,子标签可以进行填充。此处75%是3/4,其他比例可以依照此法。 } vid...

2015-11-16 15:15:51

阅读数 4588

评论数 0

关于this指向问题

好久没有在csdn上写博客了。 今天面试有这样一道题 var length = 10; var m = function (){ console.log(this.length); }; obj = { length: 5, s:function(fn){ console....

2015-11-09 16:56:15

阅读数 336

评论数 1

js 实现随机验证码

JS生成验证码 .code { background-image: url(code.jpg); font-family: Arial; font-style: italic; color: Red; border: 0; padding: 2px 3px; letter-spacing: 3p...

2015-10-30 21:25:44

阅读数 393

评论数 0

提示
确定要删除当前文章?
取消 删除