JavaScript创建对象(3种方式)


本文摘自PHP中文网,作者藏色散人,侵删。

在语法方面,JavaScript是一种灵活的面向对象语言。在本文中,我们将给大家介绍JavaScript实例化对象的不同方法。

需要注意的是JavaScript是一种无类语言,并且函数以某种方式使用,以便它们模拟一个类。(推荐:《javascript教程》)

使用函数作为类:

用JavaScript实例化对象的最简单方法之一。我们定义了一个经典的JavaScript函数,并使用new关键字创建函数的对象。函数的属性和方法使用this关键字创建。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<script>

    function copyClass(name, age) {

        this.name = name;

        this.age = age;

        this.printInfo = function() {

            console.log(this.name);

            console.log(this.age);

        }

    }

   

// 创建copyClass对象并初始化参数。

var obj = new copyClass("Vineet", 20);

   

//调用copyClass的方法。

obj.printInfo();

</script>

输出:

1

2

Vineet

20

说明:OOP中的类有两个主要组件,某些参数和一些成员函数。在这个方法中,我们声明一个类似于类的函数,有两个参数,name和age(this关键字用于将类的名称和年龄区分为正在提供的参数的名称和年龄。)和printInfo方法,用于打印这些参数的值。然后我们简单地创建一个copyClass的对象obj,初始化它并调用它的方法。

使用对象字面量:

字面量是定义对象的更小和更简单的方法。下面我们用字面量实例化一个与前一个对象完全相同的对象。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<script>

    var obj = {

        name : "",

        age : "",

        printInfo : function() {

            console.log(this.name);

            console.log(this.age);

        }

    }

   

// 初始化参数。

obj.name = "Vineet";

obj.age = 19;

   

// 使用对象的方法。

obj.printInfo();

</script>

输出:

1

2

Vineet

20

说明:这个方法与前一个方法的工作原理相同,但是我们没有将参数(名称和年龄)和方法(printInfo)捆绑在函数中,而是将它们捆绑在对象本身中,初始化对象并简单地使用方法。

使用函数的单例:

第三种方法是另外两种方法的结合。我们可以使用一个函数来定义一个单例对象。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<script>

    var obj = new function() {

        this.name = "";

        this.age = "";

        this.printInfo = function() {

            console.log(this.name);

            console.log(this.age);

        };

    }

   

obj.name = "Vineet";

obj.age = 20;

   

obj.printInfo();

</script>

输出:

1

2

Vineet

20

说明:这是前两种方法的组合,我们将方法和参数捆绑在一个函数中,但没有为它声明单独的函数(如方法1中的copyClass),而是简单地使用函数结构声明一个对象。

以上就是JavaScript创建对象(3种方式)的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

firefox怎么关闭javascript

javascript写一个js解释器

javascript作用域的全面解析(附代码)

javascript是什么端

js中4种数组遍历方法( for 、foreach() 、for/in、for/of)的区别

javascript的调用函数方法有哪些

学习javascript之手机振动api

css如何实现任意角度的扇形(代码示例)

聊聊尽量别用setinterval的原因

javascript产生随机数的几个用法小结

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...