Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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 从ECMAScript规范中提取短语_Javascript - Fatal编程技术网

Javascript 从ECMAScript规范中提取短语

Javascript 从ECMAScript规范中提取短语,javascript,Javascript,我正在阅读ECMAScript语言规范,无法正确理解一个短语 这个短语是 由构造函数创建的每个对象都有一个对值的隐式引用(,称为对象的原型) 它的构造函数的“原型”属性 我无法理解括号中的短语称为对象的原型 括号中的短语表示原型是隐式引用 我的问题是:原型是参考?隐式引用是原型吗?事实上我一直认为原型就是对象。但ECMA说,对构造函数“prototype”属性值的隐式引用是对象的prototype 我正确理解ECMAScript所说的内容,或者我的理解是错误的?我认为我们可以简单地将其改写为

我正在阅读ECMAScript语言规范,无法正确理解一个短语

这个短语是

由构造函数创建的每个对象都有一个对值的隐式引用(,称为对象的原型) 它的构造函数的“原型”属性

我无法理解括号中的短语
称为对象的原型

括号中的短语表示原型是隐式引用

我的问题是:原型是参考?隐式引用是原型吗?事实上我一直认为原型就是对象。但ECMA说,对构造函数“prototype”属性值的隐式引用是对象的prototype


我正确理解ECMAScript所说的内容,或者我的理解是错误的?

我认为我们可以简单地将其改写为


“由构造函数创建的每个对象都隐式引用其构造函数的“prototype”属性的值,称为对象的prototype。”

我认为我们可以将其改写为


“由构造函数创建的每个对象都隐式引用其构造函数的“prototype”属性的值,称为对象的prototype。”

javascript中的所有对象都从其prototype获取其属性和方法。原型词指“某物的第一个或初步版本”。因此,无论何时在javascript中创建任何可以创建其对象的东西(类或函数),其初始框架结构都可以称为原型。因此,假设您使用变量printStatement和方法print()定义了一个javascript类,该类的每个对象都肯定包含这两个内容。怎么用?根据您创建的原型

function Printer(statement) {
    this.printStatement = statement;
    this.print = function()
    {
      // Any send to printer logic
      // this.printStatement.sendToPrinter();
    }
} 
上面的语句定义了打印机功能的原型

您可以将其称为
Printer(“打印此行”).Print()

现在,在文件中大约50行之后,您认为这个对象应该还有一个函数,ReadPrint语句。您可以通过对象本身访问原型并将其添加到内存中

Printer.prototype.ReadPrint = function(){
      //whatever it does
}
从下一行开始,您可以将其称为Printer.ReadPrint()

因为在javascript中,prototype是一个开放的可用对象。您可以将自己的内容添加到其定义中,如

String.prototype.findAllIndexesOf = function(){
     //whatever it does.
}
当您这样做时,
.findAllIndexesOf()
将在以下行中的每个字符串对象上可用,并且可以以调用任何字符串对象上的
split()、trim()
和其他方法的相同方式进行调用

请务必理解,通过这种方式添加函数和属性不会影响原始代码,因此,如果必须将函数添加到javascript中可用的不同对象的原型中,请将这些函数添加到一个文件中,并且必须在页面中包含此文件

请参阅下面的链接


并查看内置对象部分。它显示了可用的javascript对象,并显示了原型的用法。单击任何对象(如数组或字符串),您将了解prototype的功能

javascript中的所有对象都从其原型获取其属性和方法。原型词指“某物的第一个或初步版本”。因此,无论何时在javascript中创建任何可以创建其对象的东西(类或函数),其初始框架结构都可以称为原型。因此,假设您使用变量printStatement和方法print()定义了一个javascript类,该类的每个对象都肯定包含这两个内容。怎么用?根据您创建的原型

function Printer(statement) {
    this.printStatement = statement;
    this.print = function()
    {
      // Any send to printer logic
      // this.printStatement.sendToPrinter();
    }
} 
上面的语句定义了打印机功能的原型

您可以将其称为
Printer(“打印此行”).Print()

现在,在文件中大约50行之后,您认为这个对象应该还有一个函数,ReadPrint语句。您可以通过对象本身访问原型并将其添加到内存中

Printer.prototype.ReadPrint = function(){
      //whatever it does
}
从下一行开始,您可以将其称为Printer.ReadPrint()

因为在javascript中,prototype是一个开放的可用对象。您可以将自己的内容添加到其定义中,如

String.prototype.findAllIndexesOf = function(){
     //whatever it does.
}
当您这样做时,
.findAllIndexesOf()
将在以下行中的每个字符串对象上可用,并且可以以调用任何字符串对象上的
split()、trim()
和其他方法的相同方式进行调用

请务必理解,通过这种方式添加函数和属性不会影响原始代码,因此,如果必须将函数添加到javascript中可用的不同对象的原型中,请将这些函数添加到一个文件中,并且必须在页面中包含此文件

请参阅下面的链接


并查看内置对象部分。它显示了可用的javascript对象,并显示了原型的用法。单击任何对象(如数组或字符串),您将了解prototype的功能

发布一个你正在阅读的链接,以便我们了解上下文。否则,在JavaScript中,所有对象都是强引用。但基本上它说所有对象都有
[“prototype”]
/
.prototype
属性。由
函数A(){}
创建的对象将引用
A
的prototype属性。这(对
的prototype属性的引用)被称为“对象的prototype”。发布一个你正在阅读的链接,以便我们理解上下文。否则,在JavaScript中,所有对象都是强引用。但基本上它说所有对象都有
[“prototype”]
/
.prototype
属性。由
函数A(){}
创建的对象将引用
A
的prototype属性。(对
的原型属性的引用)称为“对象的原型”。构造函数的“原型”属性是对象的原型