首页 > 试题广场 >

下列说法正确的是()

[不定项选择题]
下列说法正确的是()
  • 每个JS对象一定对应一个原型对象,并从原型对象继承属性和方法
  • 对象的__proto__指向自己构造函数的prototype
  • Object.prototype. __proto__=== null,说明原型链到Object.prototype终止
  • 表达式 Function.prototype.__proto__.__proto__ === null 的运行结果为true
Object.create(null)怎么说
发表于 2019-07-15 21:04:16 回复(12)

A选项

如果是使用Object.create(null)创建的空对象,是没有对应原型对象的,所以这个答案不够严谨!

B选项

// 对于我来说答案改成这样会好理解点: 对象的_proto_指向构造自己的函数的prototype
function foo() {};
var a = new foo();
console.log(a.__proto__, foo.prototype);

C选项

Object已经没有对应的原型了

D选项

Function对应的原型是Object,而Object没有对应的原型了,所以为null

编辑于 2020-06-17 18:00:13 回复(3)
Object.prototype是一个特例,没有原型,记住就行
发表于 2021-04-13 11:02:40 回复(0)
A 错了吧 
Object.create(null)怎么说

发表于 2019-09-12 19:00:42 回复(0)
c选项我以为终点是null呢
发表于 2020-08-11 00:50:19 回复(0)
我觉得一般情况下A确实没错,但是经不起推敲。重点讲一下D选项,首先注意Function是属于Object的,function的prototype的__proto__指向Object的prototype,再有__proto__指向Object的prototype的__proto__即null!
发表于 2020-06-03 10:11:49 回复(1)
D是什么意思,求解
发表于 2020-02-27 18:17:39 回复(3)

不是可以建立无原型的对象嘛

发表于 2019-06-20 22:28:30 回复(0)
C选项,虽然我知道Object的原型对象为 null,但是我以为原型链到 null 终止。。。。
发表于 2022-02-13 13:19:19 回复(0)
A B C 看其他人的解析都我都理解。

D. Function.prototype 是一个函数对象(函数)
所以 Function.prototype.__proto__  === Object.prototype
Function.prototype.__proto__.__proto__ === Object.prototype.__proto__  都为 null
编辑于 2021-07-15 09:32:06 回复(0)
A错的,每个函数对象都有原型对象属性
发表于 2020-01-15 15:55:59 回复(0)
原型链的终点应该是null呀
发表于 2019-10-15 19:03:40 回复(0)
null没有原型对象
发表于 2020-04-28 21:54:45 回复(1)
原型链继承方式,Function继承自Object,因此Function的prototype属性指向一个Object实例。
Function.prototype.__proto__ === Object.prototype  // true
Object.prototype === null // true
发表于 2023-02-10 23:10:48 回复(0)
所以答案是改了吗
发表于 2021-08-19 09:32:30 回复(0)
b选择不考虑object的原型对象吗?!object.__proto__原型对象的__proto__是null啊
发表于 2021-08-19 09:09:09 回复(0)
D.我打印出来的是undefined
编辑于 2024-04-11 15:26:30 回复(1)
object没有对应的原型;Object.create(null)创建的对象没有对应的原型
发表于 2023-04-04 13:14:16 回复(0)
Object.create(null) 原型指向null
发表于 2023-02-13 15:22:47 回复(0)
发表于 2022-09-27 17:53:12 回复(1)