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

时间:2023-12-13 08:07:50

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

1.length代表函数定义的形参的个数,挺简单的
    例如:function Pen(price,cname) {  ......}
               alert(Pen.length) ;     显示为2
2.prototype(原型)这个很重要,它是保存某个对象【所有实例】【共享属性】的地方
     要说明prototype,首先我们引入构造函数,其实跟C#是差不多
          function Dog(name,age) {
this.name = name;
this.age = age;
this.bark = function () {
alert(this.name+","+this.age);
}
}
}
好了,下面我们来说明prototype
        如果我们下面要new 3个dog对象,其实他们的bark属性方法都是一样的,这就造成资源的浪费,我们可以设置prototype原型,这样的话,3个对象都可以共用这个属性方法,减少资源的浪费
    //01通过构造函数来创建对象,这里dog对象有个bark属性,这样的话,如果下面new 3个对象,那么这3个对象都创建了3个bark属性的方法挺耗费资源,解决方案
function Dog(name,age) {
this.name = name;
this.age = age;
//this.bark = function () {
// alert(this.name+","+this.age);
//}
//解决方案~使用prototype原型,这样的话就可以3个对象共用这个属性方法
Dog.prototype.bark = function () {
alert( this.name + "," + this.age);
}
} var d1 = new Dog("xhh", );
var d2 = new Dog("", );
var d3 = new Dog("", );