javascript面向对象函数详细说明和示例代码
javascript面向对象函数的解释
js中有三种函数表示:
//函数的第一个表达式:function关键字function f1() {alert('f1 ')的方式;}//函数的第二个表达式:函数var f2=function() {alert('f2 ')的字面表达式;}//函数的第三种表达式:构造函数var f3=new Function的方式(' var a=100b=200返回a;b ');alert(F3());通常,有三种方法来定义函数。前两种方式基本相同。第三种方法(function()构造函数)解析函数体,并在每次执行时创建新的函数对象。因此,在循环或频繁执行的函数中调用Function()构造函数时,效率非常低。相反,函数文本不会在每次遇到时重新编译。一般不采用第三种方法。
另外,分别执行alert(f1 . constructor);alert(F2 . constructor);alert(F3 . constructor);会有同样的效果,如下:
F1。构造函数f2。构造函数和f3。构造函数都是一个对象,也就是一个函数。这里可以理解,这三个函数f1、f2、f3都是以函数的形式生成的,所以它们的构造函数都是函数,由此可以推导出这三个函数的内在原理其实是一样的。
在JavaScript中,每个原型对象都会自动获得构造函数属性。对象的构造函数属性用于返回创建该对象的函数,该函数通常称为构造函数。实际上,在js中,每个函数都是一个函数对象。
总结:
1.js中的一切都是对象;
2.在js中,对象具有构造函数的属性;
3.在js中,所有函数都是构造函数对象
另外,从面向对象的角度来看,在上面的例子中,f1是一个函数,它也是一个对象,构造函数可以理解为它的一个属性,在这里使用对象的构造函数属性就可以找到它的构造函数。
您可以向对象f1动态添加属性:
//给f1对象添加一个b的属性,值为5 f1.b=5警报(f1 . b);//给f1对象增加一个属性bb,bb为对象,值为var F2=function(){ alert(' F2 ');} f1.bb=f2alert(f1 . bb);在js中,任何对象都可能成为另一个对象的属性。
任何属性都可以动态添加到对象中,但对象必须有一个值,该值不能为空或未定义。
function Person(){//做某事} function P(){//做某事} function A(){//做某事} function B(){//做某事} Person . A=P;人.=Aperson . a . B . c=B;person . a . b . c . d=F2;警报;//正确,因为Person.a.b.c是一个有价值的警报(person . a . b . c . d . e . f);//错误,不能将属性f添加到Person.a.b.c.d.e,因为Person。a.b.c.d.e未定义。谢谢你的阅读。我希望你能帮助每个人。感谢您对本网站的支持!
版权声明:javascript面向对象函数详细说明和示例代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。