javascript中的函数和对象之间没有区别吗?
在本书中,作者使用以下代码创建对象javascript中的函数和对象之间没有区别吗?,javascript,javascript-objects,Javascript,Javascript Objects,在本书中,作者使用以下代码创建对象 if (typeof Object.create !== 'function') { Object.create = function (o) { var F = function () {}; F.prototype = o; return new F(); }; } var another_stooge = Object.create(stooge); 该函数旨在创建一个对象,但它返回一个函数。 (参考-第3章,页码:22) javasc
if (typeof Object.create !== 'function') {
Object.create = function (o) {
var F = function () {};
F.prototype = o;
return new F();
};
}
var another_stooge = Object.create(stooge);
该函数旨在创建一个对象,但它返回一个函数。
(参考-第3章,页码:22)
javascript中的函数和对象之间没有区别吗
函数是可以调用的对象,它们是用不同的语法创建的
作者使用以下代码创建对象[…]
我们不应该再这样了。在几乎每个浏览器中都实现了标准化和实施
无论如何,我们不应该试图通过查看这个可怕的多边形填充来理解Object.create
的功能。我们应该将Object.create
视为langauge原语(如果需要,我们可以根据它定义new
操作符)
该函数旨在创建一个对象,但它返回一个函数
不,没有。它不返回
F
,而是返回新的F(),这是调用F
(作为构造函数)的结果。您如何确定它返回函数?因为Object.create
返回传递给它的对象的新实例。JavaScript中的所有函数都是对象。正如Marcus所说,所有函数都是对象,但并非所有对象都是函数。使用文字语法创建的对象不是函数。现在在ES6中,我们有了一个显然不是函数的类。@MikeMcCaughanObject.creare
返回F()
这是一个函数否,它返回new F()
。请阅读下面的内容。