美文网首页
JavaScript 对象篇

JavaScript 对象篇

作者: 花差花差小宝 | 来源:发表于2018-11-18 21:51 被阅读0次

javascript对象的继承和Object对象

对象的一个类可以从现有的类中派生,并且拥有现有的类的方法或是属性,这和过程叫做继承。被继承的类叫做父类或是基类,继承的类叫做子类。

  (一个对象拥有另一个对象的属性和方法)

优点:

  提高代码的重用性

  提高代码的可维护性

  提高代码的逻辑性

一、Object对象

    var obj=new Object()

    属性:

    1.constructor (Object 的属性)

      对创建对象的函数的引用(指针)。

      var obj=new Object();

      alert(typeof obj);

      alert(obj.constructor);//function

    2.//Prototype 原型 (函数的默认属性,函数属性就是对象的原型)

    var obj=new Object();

    function fun(){}

    alert(obj.prototype);//undefined

    alert(fun.prototype);//object

**********************************************

      prototype对函数对象的对象原型的引用。是函数对象的默认属性

**********************************************

          A.对象的共享属性存放到代码段当中。

          B.可以实现继承。

    方法:

      A。hasOwnProperty(property)

        判断对象是否有某个特定的属性

        var obj=new Fun();

        function Fun(){

        this.name='er'

    }

        obj.hasOwnProperty('name');

      B.IsPrototypeOf(object)

      判断该对象是否为另一个对象的原型。(用来检测对象的类型)

var arr=new Array();

alert(Array.prototype.isPrototypeOf(arr));

var obj=new Fun();

        function Fun(){

        this.name='er'

    }

alert(Fun.prototype.isPrototypeOf(obj));

      c.运算符

        instanceof

        var obj=new Fun();

        function Fun(){

        this.name='er'

    }

alert(obj instanceof Fun);

二、继承

  1.原型继承

  function Person(){

  this.name='saner';

  this.fun=function(){alert(this.name)}

  }

  function Student(){}

  Student.prototype=new Person();

  alert(Student.fun());

//stu 是不是 Person的子类

  alert(Person.prototype.isPrototypeOf(stu));

// stu 的对象类型是否相同;

alert(stu instanceof Person);

  2.对象冒充的形式

    A.call

    obj1.fun.call(obj2,[参数1......])

obj1冒充obj2

function Person(){

  this.names='saner';

  this.fun=function(){alert(this.names)}

  }

  function Student(){this.names='lisi'}

var stu=new Student();

var per=new Person();

per.fun.call(stu);//stu对象可以寄生per 只能执行per 中的方法

alert(stu instanceof Person);//对象类型是否一样

alert(Person.prototype.isPrototypeOf(stu))//stu是否是Person的子类;

stu.fun();//stu中并没有fun 函数,它只是寄生与Person对象,执行Person 的函数;

...........

-------------------以下是另一种写法---------

function Person(){

  this.names='saner';

  this.fun=function(){alert(this.names)}

  }

  function Student(){

  this.names='lisi';

  Person.call(this);//执行的完全是Person 的方法;

}

alert(stu instanceof Person);

alert(Person.prototype.isPrototypeOf(stu))

stu.fun();//可以调到fun方法 但是与Person并没有继承关系;

stu.names;//也可以执行Person中的属性;

    B.apply

      obj1.fun.call(obj2,[参数1,参数2....])

    让对象1的方法冒充成对象2的方法。

相关文章

  • JavaScript学习笔记(三)

    慕课网JavaScript进阶篇第7章学习笔记,JavaScript内置对象:Date对象,String字符串对象...

  • JavaScript 对象篇

    javascript对象的继承和Object对象 对象的一个类可以从现有的类中派生,并且拥有现有的类的方法或是属性...

  • JavaScript基础(对象)

    javaScript基础(对象篇) javaScript中的面向对象编程分为以下几层 第一层:单一对象的面向对象 ...

  • javascript高级—对象篇

    参考网址:http://www.runoob.com/jsref/jsref-obj-string.html 一、...

  • 原型链详解

    title: 技术分享篇 Welcome 原型链 原型对象 在Javascript中,万物皆对象,但对象也有区别,...

  • JavaScript学习笔记(四)

    慕课网JavaScript进阶篇第8章学习笔记,JavaScript计时器,history对象,location对...

  • JavaScript之 new 命令

    JavaScript 面向对象编程的基础知识篇 1 。 1. 概述 面向对象编程(Object Oriented ...

  • JavaScript学习之旅-4(原创)

    在上一篇文章中,我们主要介绍了javaScript的变量、对象,这一篇的内容我们主要学习JavaScript的条件...

  • JavaScript之 this 关键字

    JavaScript 面向对象编程的基础知识篇 2 。 1. 概述 在上篇文章 JavaScript之new命令 ...

  • JS 实例

    JavaScript 实例JavaScript 对象 实例JavaScript Browser 对象 实例Java...

网友评论

      本文标题:JavaScript 对象篇

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