javascript面向对象函数详解及实例代码
js中的函数有三种表示形式:
第一种模式:函数键方式
函数f1(){
警报(f1);
}
第二个表示函数:函数字面方式
函数(){()
警报(F2);
}
第三表示函数:构造函数方法
VAR F3 =新功能('var = 100;b = 200;返回a+b;);
警报(F3());
通常有三种方法来定义函数。前两种方法基本相同。定义第三(函数()构造函数)是分析函数体,在每一个执行创建新的函数对象,调用函数的效率()在一个圆形的或频繁执行的函数的构造函数很低。相反,该函数字面量不重新编译一次。在一般情况下,没有第三种方式。
此外,警报(F1构造函数)、警报(F2构造函数)和警报(F3构造函数)分别具有相同的效果,如下所示:
f1.constructor,f2.constructor,f3.constructor是对象,函数,这里可以这样理解,这三个函数F1,F2,F3是以函数的形式产生的,所以他们的构造函数的函数,也可以启动方式在内部原理产生这三种功能是相同的。
在Javascript中,每个带有原型的对象都自动获得构造函数属性,对象的构造函数属性用来返回创建对象的函数,也就是我们经常说的构造函数,实际上,在js中,每个函数都是函数对象。
总结:
1,js中的一切都是对象;
2,在js中,对象具有构造函数的属性;
三.在js中,所有函数都是构造函数对象。
此外,从面向对象的角度来看,f1是上述示例中的函数,也是一个对象。构造函数可以理解为它的属性,在这里我们可以使用构造函数的构造函数属性来找到它的构造函数。
可以动态地向F1对象添加属性:
对f1对象,将属性添加到B值为5。
f1 = 5;
警报(f1);
对F1对象,将属性添加到BB、BB作为对象,值为var(F2){警报();}
f1.bb = F2;
警报(f1);
在js中,任何对象都可以是另一个对象的属性。
对象可以动态添加任何属性,但对象必须具有值,而不是null和未定义的。
功能人(){
做某事
}
函数p(){
做某事
}
函数A(){
做某事
}
函数B(){
做某事
}
某人;
A.B =一人;
A、B、C = B的人;
的人。ABCD = F2;
警报(人。ABCD); / /人。A、B、C是正确的,因为该值
警报(人。a.b.c.d.e.f); / /错误,不是人。a.b.c.d.e属性F,因为人a.b.c.d.e是未定义的。
谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持。