猿问

JS创建对象的另一种方法是如何理解的?

我知道创建一个对象的方式一般是
var obj = function (name,age) {//创建一个类
    this.name = name;
    this.age=age;
  }
var student= new obg("xiaoming","18");//实例化一个对象

这种方式我理解,就如同我需要一个car,我只需要知道car有一些属性(颜色,名字),然后我就可以直接实例一个car(白色,宝马),然后要用的时候,一目了然,这很“面向对象”,我的对象就是这个白色的宝马。
可是还有一种创建对象的方式:
Object.beget = function (o) {//犀牛书和蝴蝶书上看到的
    var F = function (o) {};//这一步是创建一个对象F
    F.prototype = o ;//这是让它的原型为o?这一步和前面一步是怎样个意思?连起来就晕了
    return new F;//返回F
  };
var Car = {
    name:'',
    color:'whait'
  };
var myCar = Object.beget(Car);
就是代码注释部分,求大神解惑,它是怎样的一个逻辑


胡说叔叔
浏览 684回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答