Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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原型构造函数语法1与语法2_Javascript - Fatal编程技术网

javascript原型构造函数语法1与语法2

javascript原型构造函数语法1与语法2,javascript,Javascript,我已经看到了javascript原型的两种语法:第一种来自教程,第二种由typescript生成 第二种语法比第一种更简单和传统的构造函数语法有什么优势 JavaScript区分大小写。如果你看这一行: var person1 = new person1("John", "Doe"); …您有newperson1,但没有名为person1的标识符。然而,有一个人1: var person1 = new Person1("John", "Doe"); 顺便说一句,第二种语法没有提供任何优势。

我已经看到了javascript原型的两种语法:第一种来自教程,第二种由typescript生成

第二种语法比第一种更简单和传统的构造函数语法有什么优势


JavaScript区分大小写。如果你看这一行:

var person1 = new person1("John", "Doe");
…您有
newperson1
,但没有名为
person1
的标识符。然而,有一个
人1

var person1 = new Person1("John", "Doe");
顺便说一句,第二种语法没有提供任何优势。如果构造函数使用了您不想公开的其他变量,那么这将是有利的:

var Person2 = (function () {

  var defaultFirstName = 'John';
  var defaultLastName = 'Doe';

  function Person2(first, last) {

    this.firstName = first || defaultFirstName;
    this.lastName = last || defaultLastName;
  }

  return Person2;
})();

例如,在这种情况下,
defaultFirstName
defaultLastName
对构造函数以外的所有对象都隐藏。

JavaScript区分大小写。如果你看这一行:

var person1 = new person1("John", "Doe");
…您有
newperson1
,但没有名为
person1
的标识符。然而,有一个
人1

var person1 = new Person1("John", "Doe");
顺便说一句,第二种语法没有提供任何优势。如果构造函数使用了您不想公开的其他变量,那么这将是有利的:

var Person2 = (function () {

  var defaultFirstName = 'John';
  var defaultLastName = 'Doe';

  function Person2(first, last) {

    this.firstName = first || defaultFirstName;
    this.lastName = last || defaultLastName;
  }

  return Person2;
})();

例如,在本例中,
defaultFirstName
defaultLastName
对构造函数以外的所有对象都隐藏。

好的,谢谢。我会解决它,但我的主要问题仍然没有答案:)好的,谢谢。我会解决它,但我的主要问题仍然没有回答:)这不是同一个问题:另一个问题是关于文字对象的,我这里没有文字语法。这不是同一个问题:另一个问题是关于文字对象的,我这里没有文字语法。