length prototype 函数function的属性,以及构造函数

前言:学到一些JavaScript高级的知识,在这里记下,方便以后的查找

1.length代表函数定义的形参的个数,挺简单的
    例如:function Pen(price,cname) {  ......}
               alert(Pen.length) ;     显示为2
 
2.prototype(原型)这个很重要,它是保存某个对象【所有实例】【共享属性】的地方
     要说明prototype,首先我们引入构造函数,其实跟C#是差不多
1          function Dog(name,age) {
2             this.name = name;
3             this.age = age;
4             this.bark = function () {
5                 alert(this.name+","+this.age);
6             }
7             }
8         }

 

好了,下面我们来说明prototype
        如果我们下面要new 3个dog对象,其实他们的bark属性方法都是一样的,这就造成资源的浪费,我们可以设置prototype原型,这样的话,3个对象都可以共用这个属性方法,减少资源的浪费
      
 1    //01通过构造函数来创建对象,这里dog对象有个bark属性,这样的话,如果下面new 3个对象,那么这3个对象都创建了3个bark属性的方法挺耗费资源,解决方案
 2         function Dog(name,age) {
 3             this.name = name;
 4             this.age = age;
 5             //this.bark = function () {
 6             //    alert(this.name+","+this.age);
 7             //}
 8             //解决方案~使用prototype原型,这样的话就可以3个对象共用这个属性方法
 9             Dog.prototype.bark = function () {
10                 alert( this.name + "," + this.age);
11             }
12         }
13  
14          var d1 = new Dog("xhh", 12);
15         var d2 = new Dog("02", 12);
16         var d3 = new Dog("03", 12);

 

posted @ 2013-09-28 22:07  xhhha123  阅读(196)  评论(0编辑  收藏  举报