JavaScript Tips: call vs apply

JavaScript 中的callapply方法主要用来改变函数对象的上下文,即函数中this所指向的内容。

调用方法如下:

fun.call(obj1, arg1, arg2, ...);
fun.apply(obj2, [arrs]);

具体示例:

Posted on 2012-06-18

jQuery 插件典型开发模式

jQuery 插件通常分两类。

  1. 基于选择器的插件(支持链式操作)
  2. 不基于选择器的插件(不支持链式操作)

前段时间简单学习了 jQuery 插件开发,开发了两个简单的插件,在此对两种插件的开发模式做简要总结。

Posted on 2012-05-17

JavaScript 的原型对象 Prototype

在 JavaScript 中,每当定义一个对象(或函数)时候,对象中都会包含一些预定义的属性,其中一个属性就是原型对象 prototype

var myObject = function( name ) {
	this.name = name;
	return this;
};
 
console.log(typeof myObject.prototype); // object
 
myObject.prototype.getName = function() {
	return this.name;
};
Posted on 2012-05-14

学习 jQuery 插件开发 2

大多数插件开发都是在 $.fn 命名空间下添加方法,这种插件是基于选择器的。也就是说,用 jQuery 选择器选择一些元素后,然后紧接着调用插件下的方法。但是有些时候,我们需要的插件无须基于选择器。

例如,我想在页面上弹出一个信息提示框(不是 alert 那种),就不需要基于选择器吧。

其实,如果要开发不基于选择器的插件,只要在 $ 下添添加对象或方法即可。例如,我要开发的插件名称为 KBox,我想要的调用方法是 $.KBox.show('Hello World!');,那么插件的代码结构就可能是这样的:

Posted on 2012-04-26