关键字原型在jquery中究竟做了什么?

时间:2009-10-27 02:17:15

标签: javascript jquery

jquery中的关键字(或方法?)原型是否类似于扩展方法?

即。所有课程都将提供此功能吗?

2 个答案:

答案 0 :(得分:12)

这是javascript的一部分,并不是特定于jquery。

prototype属性定义了该类型的所有对象共享的方法和属性。

e.g。

function MyClass()
{
}

myClass.prototype.myMethod = function()
{
    alert("hello world");
}

var myObject = new MyClass();
myObject.myMethod();

MyClass的所有实例都将拥有(共享)方法myMethod()

请注意,原型上的方法与构造函数中声明的方法的可见性不同。

例如:

function Dog(name, color)
{
    this.name = name;

    this.getColor = function()
    {
        return color;
    }
}

Dog.prototype.alertName = function {
    alert(this.name);
}

Dog.prototype.alertColor = function {

    //alert(color);  //fails. can't see color. 
    //alert(this.color); //fails. this.color was never defined

    alert(this.getColor()); //succeeds
}

var fluffy = new Dog("Fluffy","brown");

答案 1 :(得分:5)

prototype不是jQuery关键字;它是一个Javascript关键字。它用于向对象添加公共函数,使得每次创建该对象的新实例时它们都将存在。