JavaScript抽象类及ate 我们知道抽象在⾯向对象中的重要地位。安全运行
关于证书错误⽽JavaScript虽不是⼀门户严格意义上的⾯向对象语⾔,但,它也可以有⾃⼰的⾯向对象实现。
当然包括抽象。
在JavaScript中,虚⽅法可以看作该类中没有定义的⽅法,但已经通过this指针使⽤了.
萨贝尔意式餐厅通过下⾯的⽰例可以看出:
1var tmp = function ()
2 {
3 {
4this.ini.apply(this,arguments);
5//这⾥的arguments是构造函数的
6//this.ini通过this调⽤,但却是未定义的。
7//将在其prototype中给出实现
8 }
9}
50字读后感
10//实现虚⽅法 ini,且提供给构造函数调⽤
跨行存款手续费
11 tmp.prototype.ini = function ()
12 {
13 alert(arguments[0]);
14}
15var tt = new tmp( ' a ' );
在prototype.js中,对抽象类及类的创建有⼀段经典的实现:抗衰老护肤品
如下:
1var Class =
2 {
神奇的镜子3 create: function ()
4 {
5return function () //返回⼀个匿名函数,也就是⼀个函数对象
6 {
7this .ini.apply( this ,arguments); //此时的arguments是函数对象的构造函数传递过来的参数对象
8 }
9 }
10 }
11
12var tmp = ate();
13
14//此时tmp相当于
15//var tmp=function()
16//{
17// this.ini.apply(this,arguments);
18//}
19//可以通过String());看出掌声响起
20 tmp.prototype.ini = function ()
21 {
22 alert(arguments.length); //这⾥的arguments是ini⾃⾝的参数
23 }
24var ttt = new tmp( ' adf ' );
因为掉⼊了⾯向对象的泥潭,导致对ate居然久久不能明了
很汗,⼀个简单的返回匿名函数居然将我迷糊了很久。
因此如上代码记录在此,以作备忘