Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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,我画了一张基于原型链关系的图片 但是想知道数字、日期、布尔值、数组的\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu指向何处 欢迎您的评论 因为所有这些都是函数(日期类型=数字类型=“函数”)它指向 只需检查以下内容即可轻松验证: Date.__proto__ === Function.prototype; // true 这种情况是因为它们是函数(您称之为函数),它们包含函数需要执行的所有操作(例如.call.bind和.apply)

我画了一张基于原型链关系的图片

但是想知道数字、日期、布尔值、数组的
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
指向何处

欢迎您的评论


因为所有这些都是函数(
日期类型
=
数字类型
=
“函数”
)它指向

只需检查以下内容即可轻松验证:

Date.__proto__ === Function.prototype; // true

这种情况是因为它们是函数(您称之为函数),它们包含函数需要执行的所有操作(例如
.call
.bind
.apply

如果有疑问,您可以检查规范:

数字的[[Prototype]]内部属性的值 构造函数是函数原型对象()

日期的[[Prototype]]内部属性的值 构造函数是函数原型对象()

布尔值的[[Prototype]]内部属性的值 构造函数是函数原型对象()

数组的[[Prototype]]内部属性的值 构造函数是函数原型对象()

推理是这些对象是函数/构造函数。因此,您可能希望对它们使用函数方法

例如,将类似数组的对象转换为数组的(错误)方法:

Array.apply(void 0, {0: 'a', 1: 'b', 2: 'c', length: 3}) // ["a", "b", "c"]

Number、Boolean、Date和Array实例的
\uuuuuu proto\uuuu
当然是它们各自的原型。当然,上面的注释是错误的,答案是正确的。这很有趣。数组的类型.apply(void 0,{0:'a',1:'b',2:'c',长度:3})->'object'。但是数组的类型。应用(void 0,{0:'a',1:'b',2:'c',长度:3})。forEach->'function'@t3dodson是的,数组是对象,所以
typeof[]==“object”
,它们继承自
数组。原型
forEach
方法,所以
typeof[],forEach==“function”
。我的答案中的代码返回一个数组,因此同样适用。