Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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 为什么ob.constructor.prototype==ob.\uu proto___Javascript_Prototype - Fatal编程技术网

Javascript 为什么ob.constructor.prototype==ob.\uu proto__

Javascript 为什么ob.constructor.prototype==ob.\uu proto__,javascript,prototype,Javascript,Prototype,假设我们创建了一个对象 var ob = {} 当我检查 ob.constructor.prototype == ob.__proto__ 两者都是相同的,怎么可能呢?ob是一个普通的对象,所以它的构造函数(即,obj.constructor)是对象。\uuuu proto\uuuu指向某物的内部原型,普通对象的内部原型是对象。prototype 如果您对原型继承比较熟悉,那么如果ob是使用new创建的(只是看看它是如何工作的-您不应该实际使用new Object),那么这种行为可能会更容

假设我们创建了一个对象

var ob = {}
当我检查

ob.constructor.prototype == ob.__proto__ 

两者都是相同的,怎么可能呢?

ob
是一个普通的对象,所以它的构造函数(即,
obj.constructor
)是
对象。
\uuuu proto\uuuu
指向某物的内部原型,普通对象的内部原型是
对象。prototype

如果您对原型继承比较熟悉,那么如果
ob
是使用
new
创建的(只是看看它是如何工作的-您不应该实际使用
new Object
),那么这种行为可能会更容易理解:

var ob=新对象();
log(ob.constructor.prototype==ob.\uuuu proto\uuuu);
//同
log(ob.constructor.prototype==Object.prototype);
//同

log(Object.prototype==Object.prototype)
ob
是一个普通对象,因此它的构造函数(即,
obj.constructor
)是
对象
\uuuu proto\uuuu
指向某物的内部原型,普通对象的内部原型是
对象。prototype

如果您对原型继承比较熟悉,那么如果
ob
是使用
new
创建的(只是看看它是如何工作的-您不应该实际使用
new Object
),那么这种行为可能会更容易理解:

var ob=新对象();
log(ob.constructor.prototype==ob.\uuuu proto\uuuu);
//同
log(ob.constructor.prototype==Object.prototype);
//同
log(Object.prototype==Object.prototype)