首页  >  文章  >  web前端  >  JavaScript如何创建对象?实例化对象的方法

JavaScript如何创建对象?实例化对象的方法

青灯夜游
青灯夜游原创
2018-11-20 11:24:375560浏览

本篇文章给大家带来的内容是介绍JavaScript如何创建对象,让大家了解用js创建并实例化对象的三种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

在语法方面上,JavaScript是一种灵活的面向对象语言。在我们介绍JavaScript创建并实例化对象的不同方法之前,我们需要注意的是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>

运行结果:

2.jpg

说明:

类有两个主要组成部分:特定的参数和很少的成员函数。在这个方法中,我们声明了一个类似于类的函数,它有两个参数,name和age(这个关键字用于将类的名称和年龄与所提供的参数的名称和年龄区分开来);以及一个printInfo方法,用于打印这些参数的值。然后,我们简单地创建一个copyClass的对象obj,初始化它,并调用它的方法。

使用对象字面量(object literal):

literal是定义对象的更小更简单的方法。

下面我们用对象文本来创建并实例化一个与前一个对象完全相同的对象。

<script> 
    // 创建对象
    var obj = { 
        name : "", 
        age : "", 
        printInfo : function() { 
            console.log(this.name); 
            console.log(this.age); 
        } 
    } 
  
// 初始化参数
obj.name = "小明"; 
obj.age = 19; 
  
// 使用对象的方法
obj.printInfo(); 
</script>

运行结果:

3.jpg

说明:

此方法与前一种方法的工作原理其实是相同的,但不是将参数(name和age)和方法(printInfo)绑定到函数内部,而是将它们绑定到对象本身中,可以始化对象并简单地使用这些方法。

使用函数的单例:

第三种方式就是我们已经看到的另外两种方式的组合。我们可以使用函数来定义单个对象。

<script> 
// 创建单个对象
var obj = new function() { 
        this.name = ""; 
        this.age = ""; 
        this.printInfo = function() { 
            console.log(this.name); 
            console.log(this.age); 
   }; 
} 
  
// 初始化对象
obj.name = "小明"; 
obj.age = 20; 
  
// 对象的调用方法
obj.printInfo(); 
</script>

运行结果:

4.jpg

说明:

这是前两种方法的组合,我们将方法和参数绑定在函数中,但不为其声明单独的函数(就像方法1中的copyClass)。相反,我们简单地使用函数结构声明一个对象。

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

以上是JavaScript如何创建对象?实例化对象的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn