我在关于JavaScript的教科书中找到了以下代码的3个问题,称为“JavaScript:The Good Parts”。
它说当我们创建一个新对象时,我们可以选择应该是其原型的对象。
第1部分:假设我们有以下对象
var person = {
first_name: "Tim",
last_name: "Thompson",
middel_name: "Jack",
nick_name: "GoldTeeth",
age:30
};
第2部分:然后我们将使用以下代码
将Create函数添加到ObjectObject.create = function(o){
var F = function(){};
F.prototype = o;
return new F();
}
然后我们可以使用Object.create()
函数将任何新对象的原型映射到“person”
第3部分:示例//
var another_person = Object.create(person);
alert(another_person.first_name); //Tim
据我所知,JavaScript函数是对象,但我无法遵循逻辑。有谁可以帮助我?
答案 0 :(得分:0)
如果您有这样的代码:
var foo = bar;
然后,名为foo
的变量将获得值 bar
。因此bar
分配给foo
,不 foo
分配给bar
,因此您的问题存在一些误解。
关于发布的代码。第一部分创建一个对象并将其分配给person
。第二部分为Object.create
分配一个函数。该函数创建一个新的空函数并将其分配给F
。完成此操作后,名为o
的参数将分配给F
的{{1}}。由于prototype
具有F
,因此可以对其进行实例化,并返回prototype
的新实例。第三部分是测试代码。需要F
并使用person
实例化新的Object.create
。