JavaScript 面向对象基础知识

虽然 JavaScript 本身是没有的概念,但它仍然有面向对象的特性,虽然和一般常见的面向对象语言有所差异。

简单的创建一个对象的方法如下:

function myObject() {

};

JavaScript 中创建对象的方法一般来说有两种:函数构造法和字面量法,上面这种属函数构造法。下面是一个字面量法的例子:

Posted on 2012-03-20

jQuery & Ajax & JSONP

借助于 XMLHttpRequest,浏览器可以在整个页面不刷新的情况下与服务端进行交互,这就是所谓的 AjaxAsynchronous JavaScript and XML)。Ajax 可以为用户提供更为丰富的用户体验。

Ajax 请求由 JavaScript 驱动,通过 JavaScript 代码向 URL 发送一个请求,待服务端有响应时会触发一个回调函数,可以在这里回调函数里面处理服务端返回的信息。由于整个发送请求和响应的过程是异步的,所以在此期间页面中其它 Javascript 代码仍然继续执行,不会中断。

Posted on 2012-03-15

JavaScript 中的闭包是怎么回事

伟大的爱因斯坦同志说过:“如果你无法向一个 6 岁小孩解释清楚某问题,那说明你自己都没整明白”。然而,当我向一个 27 岁的朋友解释什么是闭包时,却彻底失败了。

这原本是国外某哥们儿在 Stack Overflow 上对 JavaScript 闭包所提出的问题。不过既然此问题是在 Stack Overflow 提出的,当然也会有很多高手出来解答,其中有些回答确实是经典,如下面这个:

Posted on 2012-03-12

jQuery 性能优化最佳实践

不要每次都在循环中访问数组的 length 属性,应在循环开始之前就将其缓存:

var myLength = myArray.length;

for (var i = 0; i < myLength; i++) {
    // do stuff
}
Posted on 2012-03-12

所谓 jQuery 插件,怎样开发一个 jQuery 插件

简单来说,所谓 jQuery 插件就是扩展在 jQuery 原型对象上的一个方法。通过扩展 jQuery 对象,每次调用 jQuery 对象的时候,对象里面都包含了我们自己所添加的那个方法。

一般插件的设计目的都是为了能在选择器所选择的结果集上做某些事情,本质上和 jQuery 自带的fadeOutaddClass 之类的方法没什么区别。

制作好自己的插件后,可以在自己的项目中私用,如果你愿意的话,也可以免费公开给其它人使用。而且,现在互联网上的免费插件也非常的多。另外,制作一个属于自己的 jQuery 插件的门槛真的很低。

Posted on 2012-03-12