博主信息
博文 16
粉丝 0
评论 0
访问量 16511
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
JS一切皆对象
饺子°的博客
原创
1522人浏览过

一、为什么使用对象

  前端中,每一个变量、函数等的定义,都会在全局核心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();

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学