摘要:
js中for in 可以遍历对象或数组的显性属性,也就是说我们自己定义的属性是可以遍历的,那些原型上默认已有的属性,例如:Object.prototype.toString、Object.prototype.hasOwnProperty 是遍历不出来的。for in 的基本规则如上,不过还有“坑”的... 阅读全文
摘要:
jQuery.isArray方法应于判断是不是数组,是的话返回true,否则返回false。调用如:jQuery.isArray([]),返回true。其实现源码如下:isArray: Array.isArray || function( obj ) { return jQuery.type(... 阅读全文
摘要:
jQuery.extend方法是我们常用的方法,也是jQuery源码中的基础方法。它的主要作用是:将一个或多个“源对象”合并到一个“目标对象”中,并返回目标对象。它主要有三种表现形式:a、jQuery.extend(destination, source1, source2, source3 ...... 阅读全文
摘要:
在看jQuery源码是怎么实现each方法之前,我们看一下js的原生实现。ECMAScript 5为数组定义了一个forEach方法,该方法接受两个参数:第一个参数是要在每一个数组项上运行的函数,第二个参数是运行该函数的作用域对象。第二个参数为非必填。作为第一个参数的运行函数接受三个参数,分别是:数... 阅读全文
摘要:
事情是这样的:我们后台人员有一个需求,希望在ajax请求成功后的回调函数里,新窗口打开一个页面。示例代码如下:$("#btn").on("click",function(){ $.ajax({ url : "opendata.html", type : "post"... 阅读全文
摘要:
用css制作三角形,主要是利用css元素给“盒模型”设置边框得到的。上图,上边框和做边框,以及上边框和右边框的交合处,浏览器会按照直角的二分之一处绘制交合线。这是“盒模型”有宽和高时候的效果。我们假设一下,如果把宽和高设置成0px,同时让边框的宽度更宽一点情况会怎样那?css代码如下:.tip1{ ... 阅读全文
摘要:
我们看较复杂的js程序最怕结构混乱,一个好的js书写结构,在很大程度上可以减缓阅读的障碍性。我感觉一个良好的结构要有两点:一是要有一个统一的入口,这样就保证了程序的可阅读性;二是要能够灵活的设置参数,这样就保证了程序的可扩展性。下面是我在平时写代码时常用到的两种结构,先看第一种结构,示例代码如下: ... 阅读全文
摘要:
js中的原型链是一个很重要的概念,理解了原型链,对js程序的开发有很大的好处,废话不说,先上图:javascript是基于原型的语言,所以一个对象可以另一个对象继承。不过javascript实现的时候有些周折,它并不是直接让一个对象继承自另一个对象。而是模仿其它基于类的语言,也是生成构造函数。只不过... 阅读全文
摘要:
刚学习javascript的时候,感觉setTimeout很好理解,不就是过n(传入的毫秒数)毫秒,执行以下传入的函数吗?这个理解伴随了我挺长的一段时间,才对setTimeout有了新的认识,请先看下面的例子:var start = new Date()setTimeout(function(){ var end = new Date() console.log("时间间隔:", end - start, "ms")}, 500)while( new Date() - start < 1000 ){}如果是刚开始学习javascript的我可能会得 阅读全文