javascript
文章平均质量分 70
梦你所梦
因上努力,果上随缘,无上清凉!
展开
-
长轮询(LongPoll)
之前去某公司面试,需要解决一个在线聊天室的消息实时性问题,且需要兼容低版本浏览器。 高版本浏览器自然不成问题,那么低版本的浏览器如何处理。 最先想到的方案,自然是轮询发ajax请求。在一定的程度上,这个方案可以解决实时性的问题。 但是随之带来的问题是,不停的向服务器发请求带来的服务器的压力,且多数时间都是无用请求。 后实在没有方案,向面试官请教之,得出一个方案: 长轮询。 服务器与客服端需原创 2017-06-09 15:30:27 · 998 阅读 · 0 评论 -
[ javascript ] getElementsByClassName与className和getAttribute!
对于javascript中的getElementsByClassName 在IE 6/7/8 不支持问题。那么需要模拟出getElementsByClassName 需要采用className属性,这里就涉及到javascript中的getAttribute问题。在ie 6/7 中,对于getAttribute存在Bug原创 2014-08-30 18:03:34 · 3953 阅读 · 0 评论 -
jQuery Sizzle 入口 [ 源码分析 ]
var Sizzle = function( selector, context, results, seed ) { //context 默认为document,可以人为指定 results = results || []; context = context || document; var origContext = context; //判断文档节点 if ( context原创 2014-08-28 14:46:50 · 2181 阅读 · 0 评论 -
jQuery Sizzle.find [ 源码分析 ]
Sizzle.find = function( expr, context, isXML ) { var set, i, len, match, type, left; //expr是否为空 if ( !expr ) { return []; } for ( i = 0, len = Expr.order.length; i < len; i++ ) { type = Expr原创 2014-08-28 15:03:04 · 1610 阅读 · 0 评论 -
jQuery Event add [ 源码分析 ]
/* * Helper functions for managing events -- not part of the public interface. * Props to Dean Edwards' addEvent library for many of the ideas. */jQuery.event = { add: function( elem, types, han原创 2014-08-28 14:05:19 · 2847 阅读 · 2 评论 -
Sizzle.filter [ 源码分析 ]
最近一直在研究Sizzle选择器,对于其中的原理确实不得不佩服!Sizzle中的filter方法,主要负责块表达式过滤元素集合,在方法内部会调用Sizzle.selector.fitler方法执行过滤操作。Sizzle.filter主要分5个关键步骤:1 使用LeftMatch确定表达式类型。2 调用Sizzle.selectors.preFilter预过虑函数,执行过滤前的修正。原创 2014-08-27 21:04:46 · 1366 阅读 · 2 评论 -
jQuery缓存系统的前世今生!
1 第一代事件系统也就是就Eean wdwrad 大神r原创 2014-08-01 22:52:07 · 1081 阅读 · 0 评论 -
javascript事件绑定!
1 事件绑定标准浏览器同时支持冒泡和捕捉两种方式。原创 2014-07-31 23:08:11 · 661 阅读 · 0 评论 -
javascript类工厂的实现!
最近在研究关于javascript1 P.js原创 2014-08-01 01:19:17 · 1337 阅读 · 0 评论 -
[ javascript ] attachEvent事件!
最近在看本司徒大神的博客,发现其中很是有还多可以发掘的东西的!如下: Document var E = { on:function(el,type,fn){ el.addEventListener? el.addEventListener(type,fn,false):el.attachEvent("on" + type,function()原创 2014-04-21 18:35:37 · 1246 阅读 · 0 评论 -
[ javascript ] javascript mvc.
javascript mvc.原创 2014-10-22 15:34:36 · 488 阅读 · 0 评论 -
前端技术总结
文章主要是用来记录一下一些常见问题,权当是复习了。1 请用原生JS实现对象的深度拷贝。其实这个题目还是挺基础的,主要考虑当objt是对象object或者数组时递归调用即可,当然这里还有一个小问题需要注意的就是对于纯对象的考量,这里直接用typeof parent[i] ==='object'可能会存在一定的问题。 具体代码如下:function extendsDeep(parent,child){原创 2017-05-08 19:30:00 · 1095 阅读 · 0 评论 -
[ javascript ] 关于addEventListener绑定事件的一些细节.
最近在读 IScroll 源码,发现其中的_initEvent 事件方法有点奇怪。如下:其中的 utils.addEvent 方法如下: 这里出现的问题是: 之前我们使用addEventListener 绑定事件的时候,第二个参数不都是传入一个function么,为什么这里传入的是一个this ? 竟然是一个对象?原创 2016-11-18 15:50:37 · 2082 阅读 · 0 评论 -
[ JavaScript ] JavaScript 实现继承.
对于javascript中的继承,由于js中没有后端语言中的类式继承,所以js中的继承,一般都是原型继承(prototype)。function P (name){ this.name = name; this.say = function(){ console.log('p'); }}function S (name,id){ this.id = id; this.原创 2015-08-18 22:31:58 · 684 阅读 · 0 评论 -
[ Javascript ] JavaScript中的定时器(Timer) 是如何工作的!
作为入门者来说,了解JavaScript中timer的工作方式是很重要的。通常它们的表现行为并不是那么地直观,而这是因为它们都处在一个单一线程中。让我们先来看一看三个用来创建以及操作timer的函数。var id = setTimeout(fn, delay); - 初始化一个单一的timer,这个timer将会在一定延时后去调用指定的函数。这个函数(setTimeout)将返回一个唯翻译 2015-07-11 10:42:49 · 6582 阅读 · 0 评论 -
[ Javascript ] 内存泄露以及循环引用解析
内存泄露在javascript中,我们很少去关注内存的管理。我们创建变量,使用变量,浏览器关注这些底层的细节都显得很正常。但是当应用程序变得越来越复杂并且ajax化之后,或者用户在一个页面停留过久,我们可能需要去注意一些问题,如一个浏览器花费了1G以上的内存,并且在不断的增加。这些问题常常都是因为内存泄露引起。Javascript 内存泄露这个javascript内存管理的核心概念翻译 2015-07-11 16:43:07 · 5730 阅读 · 0 评论 -
[ javascript ] 反射与依赖注入!
对于javascript中的反射的理解,一直都是认为,利用数组对回调函数进行保存,之后在适当的时刻利用call或是apply 方法,对回调进行调用即可,一般如下操作:首先定义两个方法:var service = function() { return { name: 'Service' };}var router = function() { return { na原创 2015-05-30 09:25:32 · 5193 阅读 · 4 评论 -
[ javascript ] javascript中面向切面编程[Aop].
对于java中的aop,早有耳闻,所谓面向切面编程,不过一直都以为只是在后台才会用到。从做前端开始就没有这方面的需求,这一次对于一些东西做新的想法,发现有些东西还是可以去考虑考虑的。有一个公用的代码,可能在很多地方都会被用到,那么现在要做的就是,需要这个方法跑起来之前走一些东西,在这个方法跑完之后,还在处理一些东西。原创 2014-10-22 15:37:23 · 2105 阅读 · 0 评论 -
[ javascript ] 类ajax 实现文件上传
类ajax 实现文件上传。原创 2014-10-22 15:36:22 · 604 阅读 · 1 评论 -
javascript中call与replace方法!
1 call 方法最大特点就是可以改变当前所调用的方法所在的作用域在作为对象的调用过程中,很多时候需要用到this,而在方法的调用中,this的值很多时候都是变动的那么如果需要在下一个被调用的方法中的this值和调用的方法的this一样,换言之,刚是要让他们处在同一个作用域中,怎么办呢那么就可以采用call方法,当然也可以使用apply,也可以使用new原创 2014-07-31 22:57:26 · 935 阅读 · 0 评论 -
javascript中typeof唯一一个应用!
对于javascript中typeof唯一一个应用,就是用来判断变量是否被定定义过原创 2014-08-01 00:57:26 · 707 阅读 · 0 评论 -
javascript针对IE的文档加载IEContentLoaded
1. IEContendLoaded.js/* * * IEContentLoaded.js * * Author: Diego Perini (diego.perini at gmail.com) NWBOX S.r.l. * Summary: DOMContentLoaded emulation for IE browsers * Updated: 05/10/2007 *原创 2014-08-01 01:02:11 · 1198 阅读 · 6 评论 -
[ javascript ] javascript 函数声明与函数表达式的区别
还是一样,先上代码: var f = function g() { return 1; }; if (false) { f = function g(){ return 2; }; } alert(g()); // 2把这段代码扔到IE 6 里面和chorme里面是完全不同的两种效果。这里原创 2013-10-02 15:06:44 · 1797 阅读 · 0 评论 -
[ javascript ] UEditor单独图片上传组件!适用IE,Chrome,firefox.
曾经用UEditor的单独的图片上传功能。当然网上也有很多,但是不得不说,基本上都只是针对火狐和chrome的,在ie在基本都是运行不了的曾经我也试图去兼容IE但是,找了很多方法,最终都是不得不面对IE的bug.于是我认为这个UEditor是不能兼容ie的。只到一年以后,一次偶然的机会再次用到ue.这一次认真去去看来ue的源码,原来网上的一些朋友提供的代码是有问题,于是改之,发现一原创 2013-11-27 00:47:45 · 9232 阅读 · 4 评论 -
[ javasript ] 从js小问题看大世界。
整理一下在近日所学到一些比较杂的东西。1. 这个姑且叫做分组判断执行(具体我也不知道怎么叫准确)。 (a || b || c || d || function(){})()第一次见到这样的代码,确实有点头疼,不过很好,得一些朋友的解答。该代码的具体含义为:第一个()里面会有判断,如果a为 true 的话,那么此句代码直接就执行为a(),如果a为false,那么就判断b是否为原创 2014-03-02 09:55:24 · 1498 阅读 · 2 评论 -
[ jquery ] 关于jQuery中的自加载!
1. 估计很多人都会用到jQuery中的each方法。那就来看一看jQuery都干了些什么。找到jquery中的each源码:each: function( object, callback, args ) { var name, i = 0, length = object.length, isObj = length === undefined || jQuer原创 2014-03-04 11:29:21 · 1347 阅读 · 0 评论 -
[ javascript ] 一切皆为闭包!
我记得我曾经说过,一切皆为闭包!关于闭包可能很多人第一时间会想起这样一句代码:var foo = function(){ var i = 0; return function(){ console.log(++i); } var bar = foo(); bar();是的原创 2014-03-06 19:03:07 · 919 阅读 · 0 评论 -
[ javascript ] javascript自启动函数的问题
话不多说了。先来看两段代码:var elems = document.getElementsByTagName('a');for (var i = 0; i < elems.length; i++) { alert(i); elems[i].addEventListener('click', function (e) { e.preventDefault原创 2013-10-02 14:53:52 · 2071 阅读 · 0 评论 -
[ javascript ] js中array的sort()方法!
或许你一直在用javascript中的array的sort.或许你一直相信它会给你正确的结果。至少我曾经也是这样认为的,直到有一天,我看到了如下的代码 :[5,10,1].sort();或许结果有点出人意料。结果如下:[1,10,5]仔细深究之后,发现原来默认的sort方法并不是按照整形数据来排序,而是用的字符串匹配方式。换言之就是10 中的这个 1 导原创 2014-02-20 10:15:28 · 1960 阅读 · 2 评论 -
[ javascript ] JavaScript 开发者经常忽略或误用的七个基础知识点
原文:githubJavaScript, at its base, is a simple language that we continue to evolve with intelligent, flexible patterns. We've used those patterns in JavaScript frameworks which fuel our web applica转载 2013-11-24 11:41:05 · 884 阅读 · 0 评论 -
[ javascript ] javascript中的[[scope]],scope chain,execution context!
参考文章:勇敢的心:http://blog.sina.com.cn/s/blog_912389e5010120n2.html汤姆大叔: http://www.cnblogs.com/TomXu/archive/2012/01/18/2312463.html汤姆大叔:http://www.cnblogs.com/TomXu/archive/2012/01/16/2309728.html原创 2013-12-09 11:56:17 · 1912 阅读 · 0 评论 -
[ jQuery ] jquery操作select、checkbox、radio!
jQuery获取Select选择的Text和Value: 1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text 3. var原创 2014-01-09 11:24:14 · 1142 阅读 · 0 评论 -
javascript事件特性检测代替浏览器嗅探
事件特性检测:1 标准浏览器,包括ie,判断指定的元素是否存在 "on" + event 属性.2 在firefox 下,上述办法不适用,解决办法为:创建div对象,给div元素添加指定的属性,属性名为 "on" + event,之后判断添加属性的类型,如果browser 支持添加的事件,type of 之后应该为 "function".原创 2014-07-31 23:10:17 · 1384 阅读 · 0 评论 -
JS window eval and load script!
var globalEval = function globalEval(src) { if (window.execScript) { window.execScript(src); return; } var fn = function() { window.eval.call(window,src); };原创 2014-06-04 09:46:48 · 1389 阅读 · 0 评论 -
[ run ] 一切为了造轮子!
由于csdn处理代决定将 CSDN不在用了,转战github!原创 2014-04-22 22:24:34 · 654 阅读 · 0 评论 -
[ javascript ] 司徒正美的fadeOut-fadeIn效果!
首先感谢司徒大神的文章:http://www.cnblogs.com/rubylouvre/archive/2009/09/14/1566157.html在司徒大神的博客看到一个简单的渐入渐出的效果,完全采用js实现。如下: 相册原创 2014-04-21 10:44:51 · 2917 阅读 · 0 评论 -
[ javascript ] javascript计算屏幕中的各种高度!
这几天对于js控制元素在浏览器端的高度问题,有点麻烦,于是决定深入学习一番,经过一番努力测试,得如下结果: $(window).scroll(function(){ console.log("window-height:" + $(window).height()); console.log("div1-he原创 2014-03-28 21:25:35 · 2937 阅读 · 0 评论 -
[ freemark ] 你还在无休止的拼接html么?
你还在无休止的拼接html么?原创 2013-12-02 11:29:05 · 1278 阅读 · 3 评论 -
[ javascript ] 突然想到的一个东西?测试一下!
写段代码吧!作为是2013年的结束吧,也算是2014的开始!关于jquery的click函数。也算是关于闭包的一点理解吧! (function($){ var t = { show:function(){ var _root = this, _t = 1; $("#in").click(function(){原创 2013-12-31 14:15:58 · 1163 阅读 · 0 评论 -
[ Javascript ] 网络分享之javascript作用域!
网络分享之javascript作用域.原创 2014-03-17 13:00:49 · 910 阅读 · 0 评论