javascript面向对详象函数解及实例代码

  

<强> javascript面向对象函数详解

  

<强>,,,js中的函数有三种表示方式:
  

     //函数的第一种表示方式:函数关键字的方式   函数f1 () {   警报(f1);   }//函数的第二种表示方式:函数字面量的方式   var f2=function () {   警报(f2);   }//函数的第三种表示方式:构造函数的方式   var f3=新功能(“var=100;b=200;返回一个+ b;”);   警报(f3 ());      之前      

,,,,,,函数的定义方式一般有以上三种,前两种方式基本没什么区别,第三种定义方式(()函数构造函数)每次执行时都解析函数主体,并创建一个新的函数对象,所以当在一个循环或者频繁执行的函数中调用函数()构造函数的效率是非常低的。相反,函数字面量却不是每次遇到都重新编译的。一般不会采用第三种方式。
  

  

另外,分别执行<强>警报(f1.constructor);警报(f2.constructor);警报(f3.constructor); 都会出现同样的效果,如下:

  

 javascript面向对详象函数解及实例代码

  

f1.constructor f2.constructor, f3。构造函数都是一个对象,为函数,这里可以这样理解,这三个函数f1, f2, f3都是通过函数的形式产生的,所以他们的构造器就是函数,由此也可以推出这三种函数的产生方式其实内部原理是一样的。
  

  

在JavaScript中,每个具有原型的对象都会自动获得构造函数属性。对象的构造函数属性用于返回创建该对象的函数,也就是我们常说的构造函数。实际上,在js中,每一个函数都是一个函数对象。

  

 javascript面向对详象函数解及实例代码

  

<强>总结:

  

<强> 1,在js中一切皆对象,

  

<强> 2,在js中对象有一个属性为构造函数;

  

<强> 3,在js中,凡是函数都是构造器对象
  

  

另外,从面向对象的角度来理解,上面实例中f1是一个函数,同时它也是一个对象,构造函数可以理解为它的一个属性,并且这里可以利用该对象的构造函数属性找到它的构造函数。
  

  

可以为f1这个对象动态的添加属性:
  

     //给f1对象添加一个属性为b值为5   f1。b=5;   警报(f1.b);//给f1对象添加一个属性为bb, bb为对象,值为var f2=function(){警报(f2);}   f1。bb=f2;   警报(f1.bb);   之前      

在js中,任何一个对象都有可能成为另一个对象的属性。
  

  

一个对象可以动态的添加任何一个属性,但是这个对象必须有值,不能是零和定义。
  

        函数的人(){//做某事   }   函数P () {//做某事   }   函数(){//做某事   }   函数B () {//做某事   }   的人。一个=P;   Person.a。b=一个;   Person.a.b。c=B;   Person.a.b.c。d=f2;   警报(Person.a.b.c.d);//正确,因为Person.a.b.c是有值的   警报(Person.a.b.c.d.e.f);//错误,不能为Person.a.b.c.d.e增加属性f,因为Person.a.b.c.d.e是未定义的   之前      

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

javascript面向对详象函数解及实例代码