在Javascript中用于原型的单词是什么?

时间:2014-07-06 22:08:49

标签: javascript

Javascript中的原型是否表示添加到对象的方法?我一直在研究对象Javascript一段时间,有时候我会看到世界原型。

也许更好的问题是函数中使用的原型是什么时候。默认情况下,我认为所有函数都有一个默认的prototype属性,该属性是对象中使用的属性。创建函数就像C ++或Java中的类一样。然后使用NEW关键字创建由函数构成的类。

代码在这里:

function Sprite(url, pos, size, speed, frames, dir, once) {
        this.pos  = pos;
        this.size = size;
        this.speed  = typeof speed === 'number' ? speed : 0;
        this.frames = frames;
        this._index = 0;
        this.url = url;
        this.dir = dir || 'horizontal';
        this.once = once;
    };

    Sprite.prototype = {
        update: function(dt) {
            this._index += this.speed*dt;
        },

代码在这里:

     var pressedKeys = {}; 

这是对象的简单声明,对吗?我认为有几种方法可以在Javascript中声明一个对象,但这似乎是最常见的方式。

更多代码:在以下代码中将使用原型属性。我不确定应该使用原型属性的原因和原因。

<script>
function MyObject1() {
    this.a = 1;
    this.b = 2;
    this.myMeth = function Fart() {
        alert("hello");
    }
}


var a = new MyObject1();
var b = new MyObject1();

document.writeln(a.a);
document.writeln(b.a);
a.myMeth();

</script>

1 个答案:

答案 0 :(得分:2)

原型链是将方法与给定类型相关联的方式,而不仅仅是对象的特定实例。 由于您不必为每个实例重新定义该方法,因为它在类型级别定义了一次,这对于性能原因是有益的。

使用原型的例子:

var car = function(){
};

car.prototype.start= function(){
};

var myCar = new car();//all car objects will have the start function defined.

未使用原型的示例:

var car = {};
car.start = function(){}; 

这里最大的区别是第二个例子没有利用原型,而只是将start方法添加到当前实例。 在第一个示例中,所有创建的实例都可以访问start方法。