高级1 - 对象_原型

2017-01-19  本文已影响0人  ReedSun_QD

问答

问题1 OOP 指什么?有哪些特性 (难度: ***)

问题2 如何通过构造函数的方式创建一个拥有属性和方法的对象? (难度: ***)

function Car(name){
    //  创建属性
    this.name = name;
    // 创建方法
    this.protoType.run = function(){
        // some code
    }
}

问题3 prototype 是什么?有什么特性 (难度: ***)

问题4 画出如下代码的原型图 (难度: ****)

function People (name){
  this.name = name;
  this.sayName = function(){
    console.log('my name is:' + this.name);
  }
}

People.prototype.walk = function(){
  console.log(this.name + ' is walking');  
}

var p1 = new People('饥人谷');
var p2 = new People('前端');

原型图如下:

原型图.png

问题4 以下代码中的变量age有什么区别(难度: ****)

function People (){
  var age = 1       //  这里的age是People()函数里的私有变量
  this.age = 10;    //  这里的age是People作为构造函数时,其实例所具有的属性
}
People.age = 20;   //  函数也是对象,这里是People函数的属性

People.prototype.age = 30;   //  People的原型对象的属性

问题5 创建一个 Car 对象,拥有属性name、color、status;拥有方法run,stop,getStatus (难度: ****)

function Car(name, color, status) {
    this.name = name;
    this.color = color;
    this.status = status;
    this.run = function(){
        this.status = "run"
    };
    this.stop = function(){
        this.status = "stop"
    };
    this.getStatus = function(){
        console.log(this.status);
    };
}
car1 = new Car("Tesla", "red", "run");
Car.png

问题6 创建一个 GoTop 对象,当 new 一个 GotTop 对象则会在页面上创建一个回到顶部的元素,点击页面滚动到顶部。拥有以下属性和方法 (难度: ****)

展示代码

上一篇 下一篇

猜你喜欢

热点阅读