我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法。如果按照字面意思来理解,那么prototype就是通过调用构造函数而创建的那个对象的原型对象。使用原型的好处是可以让所有对象实例共享它所包含的属性和方法。南昌网络公司开发人员认为,不必在构造函数中定义对象信息,而是可以将这些信息直接添加到原型对象中.如下面的例子所示:
function Person(){
}
Person.prototype.name="Nicholas"!
Person.prototype.age=29;
Person.prototype.job="Software Engineer";
Person.prototype.sayName=function(){
alert(this.name);
};
var personl=new Person();
personl.sayNaIne(); //"Nicholas"
var person2=new Person();
person2.sayName(); //"Nicholas"
alert(personl.sayName==person2.sayName); //true
在此,南昌网站优化公司技术人员将sayName()方法和所有属性直接添加到了Person的prototype属性中,构造函数变或了空函数。即使如此,也仍然可以通过调用构造函数来创建一个新对象,而且新对象还会具有相同的属性和方法。但与构造函数模式不同的是,新对象的这些属性和方法是由所有实例共享的。换句话说,personl和person2访问的都是同一组属性和同一个sayName()函数。要理解原型模式的工作原理,必须先理解ECMAScript中原型的性质。
本文仅限内部技术人员学习交流,不得作于其他商业用途.文章出自:南昌网站建设公司-百恒网络 http://www.jxbh.cn 如转载请注明出处!