Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 - Fatal编程技术网

了解javascript中的构造函数属性

了解javascript中的构造函数属性,javascript,Javascript,似乎我不理解构造函数的概念,所以我写了一些代码来测试它。假设您有如下代码: var test=function(){...} 我知道在test.prototype对象中有一个名为constructor的属性,它指向test对象 我的问题来了: 此属性(constructor)是否仅属于原型对象?或者所有对象都具有构造函数属性 我做了另一个测试。代码如下所示: function Shape() { this.x = 0;

似乎我不理解构造函数的概念,所以我写了一些代码来测试它。假设您有如下代码:

var test=function(){...}
我知道在
test.prototype
对象中有一个名为
constructor
的属性,它指向
test
对象

我的问题来了:


此属性(
constructor
)是否仅属于原型对象?或者所有对象都具有
构造函数
属性

我做了另一个测试。代码如下所示:

            function Shape() {
              this.x = 0;
              this.y = 0;
            }

            Shape.prototype.move = function(x, y) {
                this.x += x;
                this.y += y;
                console.info("Shape moved.");
            };

            Rectangle = Object.create(Shape);//inherit from the Shape instead of Shape.prototype
            Rectangle.constructor==Function//it is true.

我不知道
矩形.constructor是从哪里来的,还是从
形状继承的?谢谢。

对象。create
返回一个对象,其原型就是您传递给它的对象


因此,既然
Shape.constructor
Function
Shape
Function
对象),
Rectangle
继承了它。

所有对象都有
constructor
属性吗?你的意思是只有
Function
Shape
这样的对象才有
constructor
?谢谢。我认为它完全来自于
函数。prototype
,而不是像您在
形状中所说的那样,因为say
所有对象都从其prototype
继承构造函数属性,对吗?@Joe.wang,您可能对prototype有些困惑。阅读本文: