美文网首页
高级1 - 对象_原型

高级1 - 对象_原型

作者: ReedSun_QD | 来源:发表于2017-01-19 18:51 被阅读0次

问答

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

  • OOP指:Object Oriented Programming,面向对象编程,
  • 有三个主要特征:数据封装、继承、多态

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

  • 属性可以通过this.xxx = xxx的方式直接赋值,方法可以通过`this.protoType.xxx = function(){},的方式创建。如下例子:
function Car(name){
    //  创建属性
    this.name = name;
    // 创建方法
    this.protoType.run = function(){
        // some code
    }
}

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

  • JavaScript的每个对象都继承另一个对象,后者称为“原型”(prototype)对象。只有null除外,它没有自己的原型对象。
  • 原型对象上的所有属性和方法,都能被派生对象共享。
  • 通过构造函数生成实例对象时,会自动为实例对象分配原型对象。每一个构造函数都有一个prototype 属性,这个属性就是实例对象的原型对象。
  • 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 (难度: ****)

  • 创建如下Car对象
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 对象则会在页面上创建一个回到顶部的元素,点击页面滚动到顶部。拥有以下属性和方法 (难度: ****)

展示代码

相关文章

  • 高级1:对象 & 原型

    问题1: OOP 指什么?有哪些特性 OOP(Object-Oriented-Programming),指面向对象...

  • 高级1 对象-原型

    什么是 JS 原型链? this 的值到底是什么? JS 的 new 到底是干什么的? 你怎么还没搞懂 this?...

  • 高级1:对象_原型

    问题1: OOP 指什么?有哪些特性 oop指的是面向对象编程,是用抽象的方式创建基于现实世界模型的一种编程模式。...

  • 高级1 对象_原型

    1: OOP 指什么?有哪些特性 面向对象编程 Object Oriented Programming,OOP,面...

  • 高级1 - 对象_原型

    问答 问题1 OOP 指什么?有哪些特性 (难度: ***) OOP指:Object Oriented Progr...

  • 高级1-对象、原型

    1. OOP 指什么?有哪些特性? OOP指(Object Oriented Programming,面向对象程序...

  • 高级1-对象_原型

    问题1: OOP 指什么?有哪些特性答:OOP:Object-oriented programming的缩写,即面...

  • JS高级

    JS高级 原型 函数高级 对象高级 本地存储 cookie localStorage sessionStorage...

  • Javascript面向对象之组件

    高级面向对象 包装对象(13) js基于原型的程序 String Number Boolean 原型链(14) 实...

  • 高级1-对象、原型链

    问题1: OOP 指什么?有哪些特性 OOP:Object-oriented programming的缩写,即面向...

网友评论

      本文标题:高级1 - 对象_原型

      本文链接:https://www.haomeiwen.com/subject/dcgibttx.html