首页 > web前端 > js教程 > JavaScript返回对创建此对象的数组函数的引用属性constructor

JavaScript返回对创建此对象的数组函数的引用属性constructor

黄舟
发布: 2017-11-04 10:19:14
原创
2121 人浏览过

定义和用法

constructor 属性返回对创建此对象的数组函数的引用。

语法

1

object.constructor

登录后复制

实例

例子 1

在本例中,我们将展示如何使用 constructor 属性:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<script type="text/javascript">

 

var test=new Array();

 

if (test.constructor==Array)

{

document.write("This is an Array");

}

if (test.constructor==Boolean)

{

document.write("This is a Boolean");

}

if (test.constructor==Date)

{

document.write("This is a Date");

}

if (test.constructor==String)

{

document.write("This is a String");

}

 

</script>

登录后复制

输出:

1

This is an Array

登录后复制

例子 2

在本例中,我们将展示如何使用 constructor 属性:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<script type="text/javascript">

 

function employee(name,job,born)

{

this.name=name;

this.job=job;

this.born=born;

}

 

var bill=new employee("Bill Gates","Engineer",1985);

 

document.write(bill.constructor);

 

</script>

登录后复制

输出:

1

2

function employee(name, job, born)

{this.name = name; this.job = job; this.born = born;}

登录后复制

示例&说明

以下代码中的[native code],表示这是JavaScript的底层内部代码实现,无法显示代码细节。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

// 字符串:String()

var str = "张三";

alert(str.constructor); // function String() { [native code] }

alert(str.constructor === String); // true

  

// 数组:Array()

var arr = [1, 2, 3];

alert(arr.constructor); // function Array() { [native code] }

alert(arr.constructor === Array); // true

  

// 数字:Number()

var num = 5;

alert(num.constructor); // function Number() { [native code] }

alert(num.constructor === Number); // true

  

// 自定义对象:Person()

function Person(){

    this.name = "CodePlayer";

}

var p = new Person();

alert(p.constructor); // function Person(){ this.name = "CodePlayer"; }

alert(p.constructor === Person); // true

  

// JSON对象:Object()

var o = { "name" : "张三"};

alert(o.constructor); // function Object() { [native code] }

alert(o.constructor === Object); // true

  

// 自定义函数:Function()

function foo(){

    alert("CodePlayer");

}

alert(foo.constructor); // function Function() { [native code] }

alert(foo.constructor === Function); // true

  

// 函数的原型:bar()

function bar(){

    alert("CodePlayer");

}

alert(bar.prototype.constructor); // function bar(){ alert("CodePlayer"); }

alert(bar.prototype.constructor === bar); // true

登录后复制

为了将实例的构造器的原型对象暴露出来, 比如你写了一个插件,别人得到的都是你实例化后的对象, 如果别人想扩展下对象,就可以用 instance.constructor.prototype 去修改或扩展原型对象

以上是JavaScript返回对创建此对象的数组函数的引用属性constructor的详细内容。更多信息请关注PHP中文网其他相关文章!

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