首页 > web前端 > js教程 > javascript使用和不使用prototype区别代码实例详解

javascript使用和不使用prototype区别代码实例详解

伊谢尔伦
发布: 2017-07-27 13:34:19
原创
1401 人浏览过

没有使用prototype的方法相当于类的静态方法,相反,使用prototype的方法相当于类的实例方法,不许new后才能使用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

function ListCommon2(first,second,third)

{

this.First=function ()

{

alert("first do"+first);

}

}

ListCommon2.do1=function(first)

{

// this.First();

alert("first do"+first);

}

ListCommon2.prototype.do2=function(first)

{

// this.First();

alert("first do"+first);

}

登录后复制

两种方法到底有什么区别呢?用不用prototype有什么作用呢?

测试代码:

1

2

3

4

5

6

var t1=new ListCommon2("烧水1","泡茶1","喝1");

// t1.do1();//调用出错

ListCommon2.do1("烧水1");

var t2=new ListCommon2("烧水2","泡茶2","喝2");

t2.do2("烧水2");//

// ListCommon2.do2("烧水1");//调用出错

登录后复制


经过测试发现,没有使用prototype的方法相当于类的静态方法,因此可以这样调用,ListCommon2.do1("烧水1");,如果这样调用就会出错,t1.do1();

相反,使用prototype的方法相当于类的实例方法,不许new后才能使用,ListCommon2.do2("烧水1");这样就会出错

结论,使用 prototype定义的方法相当于类的实例方法,必须new后才能使用,函数中可以调用函数的限制也会类的实例方法的限制有些类似

使用 不使用prototype定义的方法相当于类的静态方法,可以直接使用,不需要new,,函数中可以调用函数的限制也会类的静态方法法的限制有些类似

例如不能调用this.First();

以上是javascript使用和不使用prototype区别代码实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板