Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中的类是什么_Javascript_Function_Class_Object - Fatal编程技术网

Javascript中的类是什么

Javascript中的类是什么,javascript,function,class,object,Javascript,Function,Class,Object,我不明白为什么在javascript中,一个类被称为一个类,而它只是定义一个函数,以便在运行时将其转换为一个对象。 下面是一个例子 var Person = function (firstName) { this.firstName = firstName; console.log('Person instantiated'); }; var person1 = new Person('Alice'); var person2 = new Person('Bob'); // Sho

我不明白为什么在javascript中,一个类被称为一个类,而它只是定义一个函数,以便在运行时将其转换为一个对象。 下面是一个例子

var Person = function (firstName) {
  this.firstName = firstName;
  console.log('Person instantiated');
};


var person1 = new Person('Alice');
var person2 = new Person('Bob');

// Show the firstName properties of the objects
console.log('person1 is ' + person1.firstName); // logs "person1 is Alice"
console.log('person2 is ' + person2.firstName); // logs "person2 is Bob"
那么,它是否就像对象的蓝图/模板

编辑。好的,我知道我写的东西现在不是一个类,在这个链接上它多次引用它是一个类


编辑此问题已得到回答,感谢您的帮助。

最近在
ECMAScript 6
中引入了JavaScript类。它们是先前
原型继承
模型的语法糖

这使得创建对象和处理继承的语法更简单、更清晰

声明类的一种方法是使用
class
关键字,后跟要创建的类的名称。这里有一个简单的例子

class Polygon {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
}


需要注意的是,
internetexplorer
Opera
中不支持类,从技术上讲,类只是EcmaScript 6中引入的一种函数形式。在使用类之前,它们需要类声明类表达式。但是,您的示例中使用的语法不是这两种语言中的任何一种。类用法的示例可在。

中找到,它不是类,也就是所谓的“构造函数”。上面的模型被称为“伪经典继承”,因为它模仿了使用类的语言创建对象的方式。不,它们不是对象的蓝图/模板,因为你可以在任何给定的时间用JavaScript向对象添加字段/方法。感谢hellp,我不知道-这整个页面指的是我从Mozilla网站上得到的classI。类JavaScript是一种基于原型的语言,不包含类语句,如C++或java中所发现的。对于那些习惯于用类语句的语言的程序员来说,这有时是令人困惑的。JavaScript使用函数作为类的构造函数。定义类与定义函数一样容易。e定义一个名为Person的新类,其构造函数为空。”