时间:2021-07-01 10:21:17 帮助过:20人阅读
需要注意的是JavaScript是一种无类语言,并且函数以某种方式使用,以便它们模拟一个类。(推荐:《javascript教程》)
使用函数作为类:
用JavaScript实例化对象的最简单方法之一。我们定义了一个经典的JavaScript函数,并使用new关键字创建函数的对象。函数的属性和方法使用this关键字创建。
<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>
输出:
Vineet 20
说明:OOP中的类有两个主要组件,某些参数和一些成员函数。在这个方法中,我们声明一个类似于类的函数,有两个参数,name和age(this关键字用于将类的名称和年龄区分为正在提供的参数的名称和年龄。)和printInfo方法,用于打印这些参数的值。然后我们简单地创建一个copyClass的对象obj,初始化它并调用它的方法。
使用对象字面量:
字面量是定义对象的更小和更简单的方法。下面我们用字面量实例化一个与前一个对象完全相同的对象。
<script> var obj = { name : "", age : "", printInfo : function() { console.log(this.name); console.log(this.age); } } // 初始化参数。 obj.name = "Vineet"; obj.age = 19; // 使用对象的方法。 obj.printInfo(); </script>
输出:
Vineet 20
说明:这个方法与前一个方法的工作原理相同,但是我们没有将参数(名称和年龄)和方法(printInfo)捆绑在函数中,而是将它们捆绑在对象本身中,初始化对象并简单地使用方法。
使用函数的单例:
第三种方法是另外两种方法的结合。我们可以使用一个函数来定义一个单例对象。
<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>
输出:
Vineet 20
说明:这是前两种方法的组合,我们将方法和参数捆绑在一个函数中,但没有为它声明单独的函数(如方法1中的copyClass),而是简单地使用函数结构声明一个对象。
以上就是JavaScript创建对象(3种方式)的详细内容,更多请关注Gxl网其它相关文章!