Blogger Information
Blog 16
fans 0
comment 0
visits 13587
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
JS一切皆对象
饺子°的博客
Original
1350 people have browsed it

一、为什么使用对象

  前端中,每一个变量、函数等的定义,都会在全局核心BOM(即Window)中创建一个实例,如下图所示

C3OM0G%NTQ6TC$Q2H9Q3{VF.png

SHWG[%]6{}}~1OZX)VQVFQX.png

L]T)NKZE7XP]F~]YUR{9REA.png

二、解决方案

  为了解决上面的情况,可以采用对象字面量的方法来定义,如下

实例

var stu = {
   course: 'JavaScript', // 属性
  grade: 70,  // 属性
  getInfo: function () {
      return this.course + '课程的成绩是: ' + this.grade;
  }
};

三、构造函数

  作用就是初始化对象属性

实例

var Stu = function (course, grade) {
    // 初始化对象属性
    this.course = course;
    this.grade = grade;
};

  注意:如果在构造函数中添加了方法,那么每一个成员都会共有这个方法,会出现冗余的现象,浪费空间

  为了解决“注意”中的问题,以下是解决方案:

    利用prototype原型属性:将所有实例对象所共享的成员, 应该定义在该实例的构造函数的原型对象属性中(即共享或者继承某一个变量或者函数)

实例

Stu.prototype.getInfo = function () {
    return this.course + '课程的成绩是: ' + this.grade;
};

  注意:

    Ⅰ Stu.prototype仍是一个对象

    Ⅱ 声明在原型属性中的属性或者方法会保存在对象的__proto__属性中,即生成了一个指向构造函数原型的指针

6[DLUP2CS$6MU{56B8MYV}2.png    访问这个方法:stu1.getInfo();

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post