博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
静态方法、实例方法、继承
阅读量:6840 次
发布时间:2019-06-26

本文共 1294 字,大约阅读时间需要 4 分钟。

   

 

var x ={x:5};var y = new Object(x);x === y;                        //truey._proto_ == x.prototypr;       //true

  

y没有prototype属性,只有一个内部指针_proto_指向x的prototype属性!

结论:y的原型指向x的prototype属性。                         //或者说y继承x的prototype的属性。

 

 

 //静态方法

    smile.book = function () {
        alert('This is a book!');
    };

    //实例方法

    smile.prototype.buy = function (name) {
        alert('This is a ' + name);
    };

 //直接访问

smile.book();     //This is a book!

 

 

//对象实例化

var sun = new smile('Amy');           /*实现继承*/ ↑↑                  smile是构造函数,方便给它一个名头:类。         

实例化后,sun中一个指针(_proto_)指向smile的prototype属性!或者说sun继承它的公开方法与属性,同时可'.'访问smile中this.xxx(公开变量、函数)。 

 

sun.buy('javascript权威指南');     //output:  This is a javascript权威指南

 

公式:sun._proto_ = smile.prototype;

一直往_proto_往上找,直至找着为止。这就是原型链!!!

 

 

 因为 JavaScript 中没有类的概念,所以 JavaScript 中的构造函数即可以看做是类,JavaScript 中 new 是构造函数的典范。

OOP中类是啥?没有类概念,姑且把构造函数当作类吧!

构造函数具体含义?继承,对象实例化,类,_proto_

 

JavaScript是一门解释型的语言,它并不是真正的面向对象的语言,很多面向对象的机制是需要靠模仿来实现的。

在类中用this.属性名的方式定义公有变量,var.属性名定义私有变量!!

 

一、模仿类定义:

function smile(x,y) {

    this.box    = x; 

    this.apple = y;

}

对象实例:

var  love = new smile(2018,2019);

alert(love.box);               //输出2018

 

二、再模仿一个简单OOP编程:

function smile(x,y,z) {

    this.pear = x;
    this.book = y;
    this.buy = function () {
        return z;
    }
}

var sun = new smile(1,2,17);

alert(sun.buy());                    //输出17

 

 

 

 

友情链接:https://www.jianshu.com/p/4a5170bc9afd

 

转载于:https://www.cnblogs.com/Longhua-0/p/9285727.html

你可能感兴趣的文章
Oracle-04:DDL语言数据表的操作
查看>>
redis中的order set 有序集合
查看>>
操纵声卡
查看>>
Win32编程day04 学习笔记
查看>>
MultipartFile(文件的上传)--CommonsMultipartResolver
查看>>
MongoDB之bson的介绍
查看>>
PostgreSQL 安装配置 (亲测可用)
查看>>
[CQOI2010]扑克牌
查看>>
C 入门 第九节 结构体指针
查看>>
WEB Application Development Integrator : 应用设置
查看>>
Revit API导出GBXML
查看>>
Android实现ListView圆角效果
查看>>
iOS - Regex 正则表达式
查看>>
Python--day64--内容回顾
查看>>
润乾V5手机报表说明文档
查看>>
Unix系统介绍
查看>>
照片切换
查看>>
求矩阵的局部极大值(15)
查看>>
Eclipse详细设置护眼背景色和字体颜色并导出
查看>>
Android Gradle 构建工具(Android Gradle Build Tools)是什么?
查看>>