对象、原型

作者: Nicklzy | 来源:发表于2016-09-23 16:29 被阅读28次

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

    • 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。
    • 封装:能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。具备封装性(Encapsulation)的面向对象程序设计隐藏了某一方法的具体运行步骤,取而代之的是通过消息传递机制发送消息给它。封装是通过限制只有特定类的对象可以访问这一特定类的成员,而它们通常利用接口实现消息的传入传出。
    • 继承:可以使用现有类的功能,并且可以在不重新编写原来类的情况下,进行扩展。
    • 多态: 是指由继承而产生的相关的不同的类,其对象对同一消息会做出不同的响应
    • 抽象: 简化复杂的现实问题的途径,它可以为具体问题找到最恰当的类定义,并且可以在最恰当的继承级别解释问题。

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


    核心为:

    var xxx = new function()
    

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

    • 所有函数都有 prototype
    • 对象.proto === 构造函数.prototype

    函数可以通过prototype这个属性创建一个公共区域,此函数构造的对象都可以通过它们的proto属性访问到这个公共区域

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

    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('前端');
    

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

    function People (){
      var age = 1;//局部变量
      this.age = 10;//为构造对象中的age
    }
    People.age = 20;//函数自身的属性age
    
    People.prototype.age = 30;//函数的原型age
    

    相关文章

      网友评论

        本文标题:对象、原型

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